這裏是我會做它
第一:創建一個配置文件來保存您的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)幫助部分有幫助。 –