基于jade模板和新版Express3.2.5实现《Node.js开发指南》demo
最近花了两周的时间学习Node.js。主要是学习《Node.js开发指南》,并把书中的例子实现了一遍。书中的例子基于node.js v0.6.12, Express v2.5.8,而我学习的时候已经是node.js v0.10.7, Express v3.2.5。我没具体比较这些版本之间的差异。只是,基于新的版本实现了书中的例子。写这篇博客主要是分享一下,基于目前版本和书中版本实现例子的差别:
1.ejs模板与jade模板
由于express的作者也是jade的作者,所以,从express3.0以来,默认模板已经改为jade了。jade也没那么复杂,可以通过jade项目地址快速上手。对于书中的MicroBlog例子,需要注意的地方有:
(1)layout.jade中的title
head
title= title + ' - Microblog'
(2)layout.jade中,success、error的传值问题。express3.0默认已经不支持flash方法了,需要添加一个引用connect-flash(直接通过npm install connect-flash即可),然后,app.js中添加如下代码
app.use(flash()); app.use(function (req, res, next) { res.locals.error = req.flash('error'); res.locals.success = req.flash('success'); res.locals.user = req.session.user; next(); });
(3)片段视图 (partials),有两种方式解决这个问题,一种是通过npm install express-partials增加引用模块,另一种方法是换成include。我采用第二种方法
增加say.jade……index.jade中直接写 include say即可。