维护和组织 ExpressJS 路由
Maintaining and organizing ExpressJS routes
我是从 PHP 开始接触 NodeJS 和 Express 的新手。我一直在关注有关如何使用 Express 构建 Web 应用程序的在线教程,这让我大开眼界。所以我决定只用 JavaScript 来做一个项目。问题是在 Express 中添加了一些路由定义后,我无法跟踪我的 Express 路由并且担心它会随着时间变得更大。目前我有将近 45 行(是的,我有很多路线,一些服务于 HTML 模板文件,其他只是 return JSON 用于我的 Angular 前端)。在它失控之前有没有更好的方法来管理它?
如果您使用的是 Express 版本 4,我编写了一个模块来以更干净、更少臃肿的方式处理路由。检查 Exroute Module 是否符合您当前的需求,如果不符合请提供一些反馈。
组织路由的一种可能方法是根据功能对路由进行分组,然后为这些组创建单独的模块,然后将这些模块导入主应用程序文件(app.js 或 server.js).例如,我正在从事一个具有交易功能、现金存款功能以及其他一些常见任务的项目。所以,我为这些路由创建了不同的模块,并将它们放在一个名为 routes 的单独目录中。
例如,我有一个名为 site.js 的模块用于所有常见任务。
module.exports = function(express,app,passport,router){
router.get('/auth/facebook',passport.authenticate('facebook'));
//other commin routes
};
在我的 app.js 文件中,我声明了路由器,然后传递给包含路由的模块。
var router = express.Router();
app.use('/',router);
require('./routes/site.js')(express,app,passport,router);
我是从 PHP 开始接触 NodeJS 和 Express 的新手。我一直在关注有关如何使用 Express 构建 Web 应用程序的在线教程,这让我大开眼界。所以我决定只用 JavaScript 来做一个项目。问题是在 Express 中添加了一些路由定义后,我无法跟踪我的 Express 路由并且担心它会随着时间变得更大。目前我有将近 45 行(是的,我有很多路线,一些服务于 HTML 模板文件,其他只是 return JSON 用于我的 Angular 前端)。在它失控之前有没有更好的方法来管理它?
如果您使用的是 Express 版本 4,我编写了一个模块来以更干净、更少臃肿的方式处理路由。检查 Exroute Module 是否符合您当前的需求,如果不符合请提供一些反馈。
组织路由的一种可能方法是根据功能对路由进行分组,然后为这些组创建单独的模块,然后将这些模块导入主应用程序文件(app.js 或 server.js).例如,我正在从事一个具有交易功能、现金存款功能以及其他一些常见任务的项目。所以,我为这些路由创建了不同的模块,并将它们放在一个名为 routes 的单独目录中。
例如,我有一个名为 site.js 的模块用于所有常见任务。
module.exports = function(express,app,passport,router){
router.get('/auth/facebook',passport.authenticate('facebook'));
//other commin routes
};
在我的 app.js 文件中,我声明了路由器,然后传递给包含路由的模块。
var router = express.Router();
app.use('/',router);
require('./routes/site.js')(express,app,passport,router);