我正在设计一个带有node.js和Express的应用程序,我想知道是否可以将某些路由逻辑移出app.js文件.为了exapmle,我的app.js目前包含:
app.get('/groups',routes.groups);
app.get('/',routes.index);
Run Code Online (Sandbox Code Playgroud)
有没有办法将这个逻辑移出app.js文件,只有类似的东西:
app.get('/:url',routes.get);
app.post('/:url",routes.post);
Run Code Online (Sandbox Code Playgroud)
这样,所有的GET请求将被处理routes.get所有POST与处理的请求routes.post?
您可以传递正则表达式作为路由定义:
app.get(/.+/, someFunction);
Run Code Online (Sandbox Code Playgroud)
这可以匹配任何东西.但是,如果您只想将路径定义移到主app.js文件之外,那么执行以下操作会更加清晰:
app.js
var app = require('express').createServer();
...
require('routes').addRoutes(app);
Run Code Online (Sandbox Code Playgroud)
routes.js
exports.addRoutes = function(app) {
app.get('/groups', function(req, res) {
...
});
};
Run Code Online (Sandbox Code Playgroud)
这样,你仍然使用Express的内置路由,而不是自己重新滚动(就像你在你的例子中所做的那样).
| 归档时间: |
|
| 查看次数: |
1065 次 |
| 最近记录: |