为什么 express的 router.route 不能工作?
下面这段代码,!!!不工作!!!,访问总是404
var router = express.Router();
router.route("/book/:id")
.get(function (req, res) {
res.json({ id: req.params.id, message: "route get" });
})
.post(function (req, res) {
res.json({ id: req.params.id, message: "route post" });
});
下面这段改用app,是正常工作
app.route("/book/:id")
.get(function (req, res) {
res.json({ id: req.params.id, message: "get" });
})
.post(function (req, res) {
res.json({ id: req.params.id, message: "post" });
});
这是为什么呢,第一段代码我是根据官方文档抄下来的。 谢谢解答。
4 回复
上面的代码你得让 app 去使用那个 router app.use(’/’, router)
额。。。。有人解答一下吗,谢谢。
根据官方文档的话app = express();即它是express的实例,而从express源码来看的话,它是继承了eventemitter,所以才会有这样的用法,用来处理事件,及回调;不理解的话可以看看nodejs的eventemitter模块
1 router 文件最后export了吗? 2 app.js中use这个文件了吗?