Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以在Express中自动化路由?_Javascript_Node.js_Express - Fatal编程技术网

Javascript 是否可以在Express中自动化路由?

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

是否可以在Express中自动路由,这样我就不必列出所有路由

例如:转到URL“/users/first_example”应该自动使用“users.first_example”模块

肯定有我遗漏的东西,这会让我的代码看起来更优雅


非常感谢。

您可能想查看有关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);