3

我有一个不断增长的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在复制代码和任何需要的额外代码后的样子。

4

2 回答 2

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
};

新的 server.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 上的其他 express 程序。这可能是一个很好的灵感来源。

于 2013-09-30T13:39:10.090 回答
1

我建议您查看一些基于 express 的 (MVC) 框架。查看框架列表。此外,如果您正在执行 Web 服务并通过 RESTfull 请求与其通信,您可能需要检查sails.js (基于 express 的框架)。请注意,sails 不仅限于 RESTfull 请求,还可以帮助您开箱即用地扩展您的项目。

祝你好运!

于 2013-09-30T13:48:56.853 回答