对我来说,听起来您不想使用 MEN 堆栈,我看不出有理由在您的问题中使用 MongoDB。您可以编写模块化 express 应用程序,例如像这样:
假设您在三个不同的文件夹moduleA、moduleB 和moduleC 中有三个模块。每个文件夹都包含其各自的逻辑,并提供一些到外部世界的 RESTful 路由。在express 中,您将为每个模块创建一个单独的Router,如下所示:
模块A:
/* moduleA/routes.js */
var express = require('express');
var router = express.Router();
... // add all routes of moduleA
module.exports = router;
模块B:
/* moduleB/routes.js */
var express = require('express');
var router = express.Router();
... // add all routes of moduleB
module.exports = router;
模块C:
/* moduleC/routes.js */
var express = require('express');
var router = express.Router();
... // add all routes of moduleC
module.exports = router;
然后,您将在根文件夹中拥有一个主 app.js 文件,您可以通过将单个模块安装到主 express 应用程序中来启用和禁用单个模块:
/* app.js */
var express = require('express');
var moduleA = require('./moduleA/routes');
var moduleB = require('./moduleB/routes');
var moduleC = require('./moduleC/routes');
var app = express();
... // add your main app's middlewares
app.use('/moduleA', moduleA);
app.use('/moduleB', moduleB);
// app.use('/moduleC', moduleC);
app.listen(3000);
在此示例中,模块 moduleA 和 moduleB 已启用,并分别通过路由 /moduleA/* 和 /moduleB/* 到达。模块 moduleC 在我们注释掉时被禁用。
如果您有任何问题,请发表评论。