我有一个不断增长的 node.js 服务器应用程序,我想把它分成几个文件。这是一个工作代码片段,演示了整体 server.js 大致如下所示:
var express = require('express');
var app = express();
// other initialization code etc
//************** start of part to be moved foo.js
var fooTestData = {data: "data", id:1};
app.get("/foo/ajax", function(req, res) {
res.json(fooTestData);
});
// more REST stuff and other foo-specific code
//************** end of part to be moved
// more stuff which remains in server.js
// http://localhost:8888/foo/ajax
app.listen(8888);
一个理想的答案有两段具有相同功能的代码:移动指示部分后 server.js 是什么样的,以及 foo.js 与复制的内容相似代码和任何所需的额外代码。
答案 0 :(得分:7)
foo.js
var fooTestData = {data: "data", id:1};
exports.setApp = function (app) {
app.get("/foo/ajax", function(req, res) {
res.json(fooTestData);
});
// more REST stuff and other foo-specific code
};
new sever.js
var express = require('express');
var app = express();
require('./foo.js').setApp(app);
// other initialization code etc
// more stuff which remains in server.js
// http://localhost:8888/foo/ajax
app.listen(8888);
这是一个简单的例子。如果你需要一些更复杂的东西,你可能想看看github上的其他快递程序。它可能是一个很好的灵感来源。
答案 1 :(得分:1)
我建议你看看一些基于快速的(MVC)框架。看看at the list of frameworks。此外,如果您正在进行Web服务并通过RESTfull请求与其进行通信,您可能需要检查sails.js(基于表达式的框架)。请注意,sails不仅限于RESTfull请求,还可以帮助您扩展项目的开箱即用。
祝你好运!