刚学习nodejs,express,jade。在取得进展的同时,我无法理解路线的运作方式。我在路径文件夹中有路由,在视图文件夹中有视图(Jade文件)。这是有效的,但我不知道如何。
我们说我有一个页面foo。在路线中,我有foo.js:
var express = require('express');
var router = express.Router();
/* GET foo page*/
router.get('/', function(req, res) {
res.render('foo', {title: 'Foo' });
});
module.exports = router;
调用Foo的Jade文件中的菜单链接有一个href =" / foo"属性。为什么router.get(' /',...)有效?不应该是
router.get('/foo', function(req, res) {
res.render('foo', {title: 'Foo' });
});
然而,当我尝试这样做时,它无法找到路线,我得到了404,这似乎与路由器文档相反。我可以随身携带并让所有路线得到(' /',...)或发布(' /',...),这确实有效,但是这似乎不对。
我错过了什么?
感谢您的见解。
答案 0 :(得分:2)
您的app.js
文件可能包含如下所示的行:
app.use('/foo', require('./routes/foo'));
这意味着./routes/foo
中定义的任何路线都将相对于/foo
。因此,您的/
路由可通过/foo/
访问。