我通过Joe Eames的视频课程学习了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
一切都进行得很顺利,直到他将这些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);
});