我通过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);
});
答案 0 :(得分:1)
您必须将jade更新为最新版本:
答案 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]);
});