首先什么是Nunjuck.js呢?其实它是一个模板引擎。
那什么是模板引擎呢?
模板引擎就是基于模板配合数据构造出字符串输出的一个组件。比如下面的函数就是一个模板引擎:
function examResult (data) { return
data.name同学六年级期末考试英语{data.English}分,数学data.math分,位于年级第{data.ranking}名。}
Nunjucks是Mozilla开发的一个纯JavaScript编写的模板引擎,既可以用在Node环境下,又可以运行在浏览器端。但是,主要还是运行在Node环境下,因为浏览器端有更好的模板解决方案,例如MVVM框架。
如果我们输入数据如下:
examResult({
name: 'Amy',
English: 70,
math: 80,
ranking: 300
});
该模板引擎把模板字符串里面对应的变量替换以后,就可以得到以下输出:
Amy同学一年级期末考试英语70分,数学80分,位于年级第300名。
模板引擎最常见的输出就是输出网页,也就是HTML文本。当然,也可以输出任意格式的文本,比如Text,XML,Markdown等等。
对于模板渲染本身来说,速度是非常非常快的,因为就是拼字符串嘛,纯CPU操作。
性能问题主要出现在从文件读取模板内容这一步。这是一个IO操作,在Node.js环境中,我们知道,单线程的JavaScript最不能忍受的就是同步IO,但Nunjucks默认就使用同步IO读取模板文件。
好消息是Nunjucks会缓存已读取的文件内容,也就是说,模板文件最多读取一次,就会放在内存中,后面的请求是不会再次读取文件的,只要我们指定了noCache: false这个参数。
在开发环境下,可以关闭cache,这样每次重新加载模板,便于实时修改模板。在生产环境下,一定要打开cache,这样就不会有性能问题。
koa-nunjuck-2
还有一种是koa-nunjuck-2 也是作用类似 用于Nunjucks的轻量级Koa中间件。 www.npmjs.com/package/koa…
安装 npm install --save koa-nunjucks-2
从文档可以看出他是需要安装一个依赖
chokidar--监听文件变化的插件
npm install chokidar
安装完之后刚才配置的nunjucksConfig中的watch:true
就会实现同步更新啦
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!