下面是一个使用 express 的简单 node.js
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(3000);
我想实现一个插件式的架构,比如默认有一个叫 的文件夹plugins
,在node.js启动的时候自己注册,我不需要修改mainserver.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()
,你有更好的插件架构实现的想法吗?
谢谢。