渲染玉像一个角部分

时间:2014-08-11 17:02:37

标签: node.js angularjs express pug

我通过Joe Eames的video course研究了MEAN的概念。 本课程很有趣,因为教授如何使用JADE模板而不是HTML。

\bin
\node_modules
\public
    \app
        \main
            someCntr.js
            otherCntr.js
        main.js
\server
    \views
        \partials
            main.jade
            featured-courses.jade
            new-courses.jade

直到他将这个玉石模板从\views\includes移动到\public\app\main\public\app\courses的Express 3.4中,一切顺利。这个技巧在我的Express 4中不起作用

之前的server.js文件

app.set('views', path.join(__dirname, '/server/views'));
app.set('view engine', 'jade');

app.get('/partials/:partialPath', function(req, res) {
    res.render('partials/' + req.params.partialPath);
});

移动后

app.set('views', path.join(__dirname, '/server/views'));
app.set('view engine', 'jade');

app.get('/partials/*', function(req, res) {
  res.render('public/app/' + req.params);
});

2 个答案:

答案 0 :(得分:1)

您必须将jade更新为最新版本:

http://expressjs.com/guide/migrating-4.html

答案 1 :(得分:0)

我也在学习这门课程,我遇到同样的问题...... 解决方案是使用req.params [0]。在server.js文件中,指向部分视图的路径如下:

insted of

app.get('/partials/*', function(req, res) {
  res.render('public/app/' + req.params);
});

写:

app.get('/partials/*', function(req, res) {
  res.render('../../public/app/' + req.params[0]);
});