文档章节

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

假正经哥哥
 假正经哥哥
发布于 2014/10/19 21:00
字数 504
阅读 1913
收藏 4

引言

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

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

实现

如果是现成的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作为模板管理的工具。

然后在app的入口代码处添加模板的使用情况

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一下。

© 著作权归作者所有

假正经哥哥

假正经哥哥

粉丝 43
博文 22
码字总数 43583
作品 1
浦东
架构师
私信 提问
dustjs-helpers 1.7.3 发布

dustjs-helpers 1.7.3 发布,更新内容如下: #140 Fix logic helpers inside any and none blocks. (@sethkinast) 详细信息请查看发行日志。 下载地址请戳:v1.7.3。 dustjs-helpers 是 dust...

oschina
2015/07/29
782
0
dustjs-helpers 1.7.1 发布

dustjs-helpers 1.7.1 发布,此版本主要有以下两个更新: #136 Sync linkedin/dustjs#650 (@sethkinast) #135 Evaluate truth test bodies inside a @select before resolving the select. ......

oschina
2015/04/30
474
0
dustjs-helpers 1.74 发布,bug 修复

dustjs-helpers 1.74 发布了,dustjs-helpers 是 dustjs-linkedin 包的额外功能。你可以利用它来编写自己的助手工具和扩展 Dust 模板引擎的功能。 此次更新内容: 修复bug: #146 Fix Node ...

周其
2017/12/10
210
0
dustjs-helpers 1.7.0 发布

dustjs-helpers 是 dustjs-linkedin 包的额外功能。你可以利用它来编写自己的助手工具和扩展 Dust 模板引擎的功能。 dustjs-helpers 1.7.0 发布,此版本值得关注的更新: 新增两个 behavior...

oschina
2015/04/19
1K
0
dustjs-helpers

dustjs-helpers 是 dustjs-linkedin 包的额外功能。你可以利用它来编写自己的助手工具和扩展 Dust 模板引擎的功能。

叶秀兰
2014/08/27
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
30分钟前
3
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
11
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部