我正在通过Express进行路由。我的应用加载所有控制器,每个控制器都有多个动作。但是,在我的控制器中,Express Router只在我的控制器中加载默认操作,并与其他所有操作一起出错
无法GET / index / action1234
更具体地说,这是我的代码。
在app.js中的路线
fs.readdirSync('./controllers').forEach(function (file) {
if(file.substr(-3) == '.js') {
app.use(require('./controllers/' + file));
}
});
控制器index.js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.send("index/index");
});
router.get('/:action', function(req, res) {
res.send("index/"+req.params.action);
});
module.exports = router;
我是否必须通过" app" param to controller并使用它代替路由器模块?
谢谢
答案 0 :(得分:0)
我通过在加载所有控制器时放置一个路径参数来解决我的问题。
fs.readdirSync('./controllers').forEach(function (file) {
if(file.substr(-3) == '.js') {
app.use('/'+file.substr(0, file.length - 3), require('./controllers/' + file));
}
});
由于