这里是我会做它
第一:创建一个配置文件来保存您的API端点处理器映射(和一般的应用程序配置)
config.modules = [
{
moduleLocation: "/path/to/my/module1.js",
apiPath: "/api/myAPI1"
},
{
moduleLocation: "/path/to/my/module2.js",
apiPath: "/api/myAPI2"
}
];
config.port = 8080;
module.exports = config;
其次,在您的节点主要的应用程序,使用快速动态地安装在映射配置
var config = require('./config');
var express = require('express');
var app = express();
app.listen(config.port, function() {
console.log("server starting on port " + config.port);
});
for(var module in config.modules){
app.use(module.apiPath, require(module.moduleLocation));
}
你的模块文件(module1.js和module2.js)应该是这样的: VA r router = express.Router();
// invoked for any requested passed to this router
router.use(function(req, res, next) {
// .. some logic here .. like any other middleware
next();
});
这样一来,为了延长您的API,你只需要处理模块添加到您的应用程序,添加映射配置文件,并重新启动您的节点的应用程序。这是我能想到的最低配置:)
我假设你正在谈论一个REST API。在这种情况下,你所说的可以通过[express](http://expressjs.com/)来实现。快速应用程序可以由子应用程序组成。 –
你能指点我一个更具体的例子吗?另外一个没有框架的解决方案会很有趣。 – madc
我很想去,但在问一个更具体的问题之前,很难给出具体的例子! “基本API”是指RESTful API吗?您是否有示例显示可以从不同的存储库中暴露“附加方法”?您是否阅读过我将您链接到的快递文档?你有什么尝试?什么工作?什么没有用?您可能会发现[如何提问](http://stackoverflow.com/help/how-to-ask)帮助部分有帮助。 –