为什么Express呈现的页面不是res.render中指定的页面

时间:2016-02-24 21:28:46

标签: javascript node.js express

我正在尝试渲染一个名为compare.ejs的ejs页面,但是当我导航到我期望比较的页面时,已经渲染了另一个页面。我在这里缺少什么?

app.js中的

var compare = require('./routes/compare')(nav);
app.use('/compare', compare);

在routes / compare.js

var compare = express.Router();

var router = function (nav) {
    compare.route('/')
        .get(function(req,res){
            res.render('compare',
                      {
                nav: nav
            })
    });
return compare
};
module.exports = router;

然而,当我导航到/比较另一个页面时,会呈现另一个名称。

2 个答案:

答案 0 :(得分:1)

可能需要是router.route()而不是compare.route()

//编辑后

如果较早的路线与同一路线匹配,通常会发生这种情况。你有其他类似的路线吗?

答案 1 :(得分:1)

您可能在compare之前有另一条匹配相同位置的路线。请记住,路线是middleware所以,您必须小心订单。