快递4路问题

时间:2014-07-08 20:16:44

标签: node.js express

刚学习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,这似乎与路由器文档相反。我可以随身携带并让所有路线得到(' /',...)或发布(' /',...),这确实有效,但是这似乎不对。

我错过了什么?

感谢您的见解。

1 个答案:

答案 0 :(得分:2)

您的app.js文件可能包含如下所示的行:

app.use('/foo', require('./routes/foo'));

这意味着./routes/foo中定义的任何路线都将相对于/foo。因此,您的/路由可通过/foo/访问。