Javascript 是否可以在Express中自动化路由?
是否可以在Express中自动路由,这样我就不必列出所有路由 例如:转到URL“/users/first_example”应该自动使用“users.first_example”模块 肯定有我遗漏的东西,这会让我的代码看起来更优雅Javascript 是否可以在Express中自动化路由?,javascript,node.js,express,Javascript,Node.js,Express,是否可以在Express中自动路由,这样我就不必列出所有路由 例如:转到URL“/users/first_example”应该自动使用“users.first_example”模块 肯定有我遗漏的东西,这会让我的代码看起来更优雅 非常感谢。您可能想查看有关stackoverflow的早期答案- 代码多一点,但会将路由抽象到下一个级别,并为您提供更清晰的主文件。我一直在做类似的工作,重点关注REST路由。看看 var users = require('./users');//a module of
非常感谢。您可能想查看有关stackoverflow的早期答案-
代码多一点,但会将路由抽象到下一个级别,并为您提供更清晰的主文件。我一直在做类似的工作,重点关注REST路由。看看
var users = require('./users');//a module of route handler functions
app.get('/users/:name', function(req,res){
var handler = users[req.params.name];
if (typeof handler === 'function') {
return handler(req, res);
}
res.status(404).render('not_found');
});
如果您的路线是RESTful:
var booster = require('booster'), express = require('express'), app = express(), db = require('./myDbSetup');
booster.init({app:app,db:db});
booster.resource('user');
app.listen(3000);
您只需要连接数据库/持久性连接层。您可以选择自定义控制器路由、模型或其任何部分,但都是可选的。肯定不是您问题的答案,但您当前的代码可以使用
用户[req.params.name]
而不是eval
语句来缩短和安全。
var booster = require('booster'), express = require('express'), app = express(), db = require('./myDbSetup');
booster.init({app:app,db:db});
booster.resource('user');
app.listen(3000);