如何编写干净、模块化的express.js应用程序

Par*_*xis 4 javascript node.js express

几乎从那时起,我就一直远离 NodeJS 后端开发,原因只有一个:几乎所有我已经启动的或我被迫维护的 Express 项目最终都变得一团糟,整个网站都在运行在长度为 +/- 5000 行的单个脚本上。

下面的示例来自 ExpressJS hello world 页面,在这种形式中,我最终会添加越来越多的路由,从而app导致代码混乱。

var express = require('express');
var app = express();

app.get('/', function (req, res) {
    res.send('Hello World!');
});

app.listen(3000, function () {
    console.log('Example app listening on port 3000!');
});
Run Code Online (Sandbox Code Playgroud)

我似乎找不到的是如何将一个大型快递网站转变为一个模块化应用程序,其中路线很小,可重用易于测试。如果有人知道如何做到这一点,我们将不胜感激。

Jaw*_*wad 7

我通常每个路由使用 1 个文件,并将所有路由文件放在一个routes文件夹中,并利用 Express 中可用的路由器。

路由文件可能如下所示:

var express = require('express');
var router = express.Router();
router.get('/', function (req, res) {
    res.send('Hello World!');
});

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

然后在应用程序文件中,只需添加:

var example = require('./routes/example');
app.use('/', example);
Run Code Online (Sandbox Code Playgroud)

路由文件中的路由是相对于你在app.use中声明的路由而言的。