在github上看了这个一起学习node.js 在3.2.1 express.Router这里发现一个问题 文中将路由分离到routes文件夹中,在index.js中使用use挂载 我的问题出现在挂载上
routes/users.js
var express = require('express');
var router = express.Router();
router.get('/:name', function(req, res) {
res.send('hello, ' + req.params.name);
});
module.exports = router;
index.js
var express = require('express');
var app = express();
var indexRouter = require('./routes/index');
var userRouter = require('./routes/users');
app.use('/', indexRouter);
app.use('/users', userRouter);
app.listen(3000);
这样挂载后我发现浏览器cannot get 然后我修改users.js中
router.get('/users/:name', function(req, res) {
res.send('hello, ' + req.params.name);
});
index.js中
app.use('/', userRouter);
这样才能得到正确的name参数 疑惑的是,如果是配置带有参数的url时 如果只能这样,那index中挂载路由看起来会很不清晰,不知道到底是哪一级路由 而文中的方式看起来清晰,却不能够使用 望大神解惑~