Javascript 维护和组织ExpressJS路线

Javascript 维护和组织ExpressJS路线,javascript,node.js,express,routes,Javascript,Node.js,Express,Routes,我不熟悉NodeJS和Express,从PHP开始。我一直在关注如何使用Express构建web应用程序的在线教程,这让我大开眼界。所以我决定只使用JavaScript进行一个项目。问题是,在Express中添加了一些路线定义之后,我很难跟踪我的Express路线,并且担心它会随着时间的推移变得更大。目前我有将近45行(是的,我有很多路线,一些提供HTML模板文件,另一些只返回JSON作为我的前端)。在它失控之前,有没有更好的方法来管理它?如果您使用的是Express版本4,我编写了一个模块,以

我不熟悉NodeJS和Express,从PHP开始。我一直在关注如何使用Express构建web应用程序的在线教程,这让我大开眼界。所以我决定只使用JavaScript进行一个项目。问题是,在Express中添加了一些路线定义之后,我很难跟踪我的Express路线,并且担心它会随着时间的推移变得更大。目前我有将近45行(是的,我有很多路线,一些提供HTML模板文件,另一些只返回JSON作为我的前端)。在它失控之前,有没有更好的方法来管理它?

如果您使用的是Express版本4,我编写了一个模块,以一种更干净、更少臃肿的方式处理路由。检查它是否符合您当前的需要,如果不符合,请提供一些反馈。

组织路由的一种可能方法是根据功能创建路由组,然后为这些组创建单独的模块,然后将这些模块导入主应用程序文件(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);

你用的是什么版本的express?哇,真方便。虽然它有点固执己见,但它确实适合我的用例。我喜欢这样一个事实:我可以将所有路由文件转储到一个文件夹中,让app.js中的一行程序完成所有工作。很抱歉,我不能投票表决,但是荣誉;)我尝试过这种方法,但这正是我试图避免的。这确实有点帮助,但对于Shanks的模块,我只需要在app.js中输入一行代码,不过还是要感谢您的建议。非常感谢!再次抱歉,我不能同意你的回答,我是新来的。