正确的方法来组织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目录。