维护和组织ExpressJS路由

NodeJS和Express是PHP的新手。 我一直在关注如何使用Express构buildWeb应用程序的在线教程,这让人大开眼界。 所以我决定只用JavaScript来开发一个项目。 问题是在Express中添加了一些路由定义之后,我无法跟踪我的Express路线,并担心随着时间的推移会变得更大。 目前我有近45行(是的,我有很多的路线,一些服务的HTML模板文件和其他只是返回JSON Angular的前端)。 有没有更好的方法来处理这个问题呢?

如果你使用Express版本4,我写了一个模块来处理路由,使用更简洁的方式。 Checkout Exroute模块,如果它符合您目前的需求,请提供一些反馈,如果没有。

组织路线的一种可能的方法是基于function的路线组,然后为这些组创build单独的模块,然后将这些模块导入主应用文件(app.js或server.js)。 例如,我正在开发一个具有交易function,现金存款function以及其他一些常见任务的项目。 所以,我为这些路由创build了不同的模块,并把它们放在一个名为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);