微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用JavaScript / Node.js实现插件架构

下面是一个简单的node.js使用express

var express = require('express');
var app = express();

app.get('/', function(req, res){
  res.send('Hello World');
});

app.listen(3000);

我想实现一个插件式架构,比如认情况下有一个名为plugins的文件夹,当node.js启动时,他们通过themselve注册,我不需要修改主服务器.js

例如foo插件,例如

PluginManager.register("init, function(app) {
    app.get('/foo', function(req, res){
        res.send('Hello from foo plugin');
    });
});

然后在我的server.js中,我会有类似的东西

// Todo: Scan all scripts under the folder `plugins`
// Todo: Execute all the `init` hook before the app.listen
app.listen(3000);

我的问题是我的插件代码都是异步的,没有办法在app.listen()之前阻塞,你有没有想过更好的插件式架构实现?

谢谢.

解决方法:

似乎加载插件的任何东西都会像其他任何东西一样引发回调.

PluginManager.loadplugins(function() { app.listen(3000); });

这样,在插件全部加载之前,应用程序才会开始侦听.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐