如何拆分单片节点.js javascript

How to split monolithic node.js javascript

本文关键字:单片 节点 js javascript 拆分 何拆分      更新时间:2023-09-26

我有一个不断增长的节点.js服务器应用程序,我想把它分成几个文件。下面是一个工作代码片段,演示了整体式服务器.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);

理想的答案有两段具有相同功能的代码:移动指示部分后.js服务器的外观,以及复制的代码和任何需要的额外代码后 foo.js 的外观。

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

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

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

祝你好运!