Express是什么
玩过node的肯定对express非常熟悉,一套可以进行快速开发的web框架,本文内容就是围绕这套框架的一个组成部分来说,template engine ,也就是模板引擎,express中有两种可选,jade和ejs,但是这次我们要用另一种模板引擎,dust.js。
dust.js是什么
本来我也不知道dust(后面均简称dust)是什么,前几天无聊试了下paypal的kraken,发现模板引擎用的dust,于是便随意了解下,发现还不错,Linkedin在用,而且负责维护的也是Linkedin的人,这两天在expres上试了以下,个人感觉还挺舒服,正好这边能写博客,来和大家分享下用法和体会。
dust.js语法
dust的中文资料比较匮乏,然后有个好人博主翻译了dust官网的Tutorial,写的相当不错,可以去看一下,传送门在文章最后,我这边就不多说了,我这边重点说一下dust在express中的使用。
在express中使用dust.js
首先创建工程 express -e ejs demo
,先不用着急 npm install
,我们先修改下package.js中的dependences,删掉ejs,加入dustjs-linkedin和consolidate(consolidate是一个模板引擎整合库,由TJ大神在维护) ,然后 npm install
安装node_modules,接下来要对app.js进行一些修改,引入依赖模块
var dust = require('dustjs-linkedin');
var cons = require('consolidate');
然后使用express的api
app.engine(ext, callback)
来注册模板引擎,
app.engine('dust', cons.dust);
consolidate.js整合了大多数比较流行的模板引擎,通过它来映射这些引擎来遵循express的使用规则。下面再修改下
app.set('view engine', 'dust');
然后就可以在views中建立.dust文件了。关于语法我啰嗦一句,dust可以像ejs那样进行拆分,简单的说是这样
master.dust
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>{+title /}</title>
<link rel="stylesheet" href="css/app.css" />
</head>
<body>
<div id="wrapper">
{+body /}
</div>
</body>
</html>
index.dust
{>"layouts/master" /}
{<body}
<h1>Hello,dust!</h1>
{/body}
到这里基本上就完事了,说的非常浅,还请大家多多包涵,想要更深入的使用,请进传送门 —–