在Expressjs4.0中使用dustjs模板引擎

引言

    dustjs是一款js模板,最先由我的开发维护,后来由linkin接手,发展的更加迅速,说实话js模板这块有不少选择,都很是优秀,和paypal的选择同样,最终我使用dustjs做为个人首选模板语言。dustjs中文的文档很是少,因此在国内的使用不是不少,这里几篇博文有对dustjs语法基本的介绍Dust.js语法简介(一),Dust.js语法简介(二),Dust.js语法简介(三)python

    express4.0 默认的模板引擎是jade,jade 刚刚开始用的时候感受像python,有严格的语法格式,方便程序员养成良好的编码习惯,可是在实际使用下就会发现这种强制,在模板端编写逻辑语言的时候,特别在嵌套判断的时候会有一些没法逾越的问题,同时它的性能问题也一直别人诟病。固然你也能够ejs或者其余模板,这不是我要阐述的重点。git

实现

若是是现成的express项目或者使用express-genarate生成基本结构以后,在package.json 文件的 dependencies 添加三个依赖。程序员

"dustjs-helpers": "~1.3.0",
    "dustjs-linkedin": "~2.4.2",
    "adaro": "^0.1.5"

其中 dustjs-linkedin是dustjs模板自己,dustjs-helpers是一些模板的扩展方法,在dustjs官方的文档中有说明,很是有用,你能够添加本身的helper方法。而adaro是paypal公司提供的dustjs渲染类库,可使用它方便的在多个模板引擎中切换,paypal的基于express的web框架krakenjs使用的就是adaro做为模板管理的工具。github

而后在app的入口代码处添加模板的使用状况web

var dustjs = require('adaro');
var app = express();
// 注册 
app.engine("dust",dustjs.dust({ cache: false }));
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'dust');

而后在views目录下使用 添加.dust 后缀的视图文件。 若是你编写了本身的helper 那么须要手动在入口文件处 require一下。express

相关文章
相关标签/搜索