正确的方法来组织myapp / routes / *

使用最新的稳定的node.js和npmexpression,我创build了我的第一个快速项目。

默认生成的应用程序定义routes / index.js,其中包含呈现默认索引视图的单个路由。

我马上假设我可以添加其他.js文件到路线/文件夹,他们将被包括在内。 这没有泛滥。 只包含routes / index.js。 将其他路由添加到routes / index.js工作正常。

按照快递项目生成器提供的结构,定义和组织快递路线的正确方法是什么?


答案,解释了DailyJS的文章:

鉴于以下路线:

app.get('/', function() {}); app.get('/users', function() {}); app.get('/users/:id', function() {}); 

…创build以下文件:

 routes/ ├── index.js ├── main.js └── users.js 

然后,在routes / index.js里面:

 require('./main'); require('./users'); 

对于每个新的相关路由组,在routes /中创build一个新文件,并从routes / index.js中require()。 将main.js用于不适合其他文件的路由。

我更喜欢dynamic加载路由,而不必在每次添加新的路由文件时手动添加另一个路由。 这是我目前使用的。

 var fs = require('fs'); module.exports = function(app) { console.log('Loading routes from: ' + app.settings.routePath); fs.readdirSync(app.settings.routePath).forEach(function(file) { var route = app.settings.routePath + file.substr(0, file.indexOf('.')); console.log('Adding route:' + route); require(route)(app); }); } 

我在应用程序加载时调用它,然后需要routePath中的所有文件。 每条路线设置如下:

 module.exports = function(app) { app.get('/', function(req, res) { res.render('index', { title: 'Express' }); }); } 

要添加更多的路由,您现在要做的就是将一个新文件添加到routePath目录。