Rya*_*yan 5 javascript plugins design-patterns node.js express
下面是使用express的简单node.js
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
我想实现一个插件架构,例如默认情况下有一个名为的文件夹plugins,并且它们在node.js启动时自行注册,我不需要修改主目录。server.js
foo插件示例,例如
PluginManager.register("init, function(app) {
app.get('/foo', function(req, res){
res.send('Hello from foo plugin');
});
});
Run Code Online (Sandbox Code Playgroud)
然后在我的server.js身上,我会有类似
// TODO: Scan all scripts under the folder `plugins`
// TODO: Execute all the `init` hook before the app.listen
app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
我的问题是我的插件代码都是异步的,在之前没有办法阻止app.listen(),您是否有更好的插件体系结构实现的想法?
谢谢。
似乎加载插件的任何内容都会像其他任何东西一样引发回调。
PluginManager.loadPlugins(function() { app.listen(3000); });
Run Code Online (Sandbox Code Playgroud)
这样,在插件全部加载之前,应用程序不会开始监听。
| 归档时间: |
|
| 查看次数: |
4202 次 |
| 最近记录: |