Gab*_*man 29 routes node.js express
使用最新的稳定node.js并从npm表达,我创建了我的第一个快速项目.
默认生成的应用程序定义routes/index.js,其中包含呈现默认索引视图的单个路径.
我立即假设我可以将其他.js文件添加到routes /文件夹中,它们将被包含在内.这并没有成功.只包含routes/index.js.添加其他路由到routes/index.js工作正常.
按照快速项目生成器提供的结构,定义和组织Express路由的正确方法是什么?
答案,解释DailyJS上的文章:
鉴于以下路线:
app.get('/', function() {});
app.get('/users', function() {});
app.get('/users/:id', function() {});
Run Code Online (Sandbox Code Playgroud)
...创建以下文件:
routes/
??? index.js
??? main.js
??? users.js
Run Code Online (Sandbox Code Playgroud)
然后,在routes/index.js里面:
require('./main');
require('./users');
Run Code Online (Sandbox Code Playgroud)
对于每个新的相关路由组,在routes /中创建一个新文件,并从routes/index.js中输入require().将main.js用于不适合其他文件的路由.
Tim*_*ple 19
我更喜欢动态加载路由,而不是每次添加新路由文件时都必须手动添加另一个需求.这是我目前正在使用的.
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);
});
}
Run Code Online (Sandbox Code Playgroud)
我在应用程序加载时调用它,然后需要routePath中的所有文件.每条路线的设置如下:
module.exports = function(app) {
app.get('/', function(req, res) {
res.render('index', {
title: 'Express'
});
});
}
Run Code Online (Sandbox Code Playgroud)
要添加更多路由,您现在要做的就是在routePath目录中添加一个新文件.
| 归档时间: |
|
| 查看次数: |
9820 次 |
| 最近记录: |