基于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即可。

源码下载

 

posted @ 2013-05-30 10:01  悟远  阅读(514)  评论(1编辑  收藏  举报