扫一扫分享
Juicer 是一个高效、轻量的前端 (Javascript) 模板引擎,使用 Juicer 可以是你的代码实现数据和视图模型的分离(MVC)。除此之外,它还可以在 Node.js 环境中运行。
倘若我们把数据比作新鲜可口的水果,把模板看做是水,Juicer 就是把水果和水榨出我们需要的html代码片段的榨汁机。
<script type="text/javascript" src="juicer-min.js></script>
> 编译模板并根据所给的数据立即渲染出结果.
juicer(tpl, data);
> 仅编译模版暂不渲染,它会返回一个可重用的编译后的函数.
var compiled_tpl = juicer(tpl);
> 根据给定的数据,对之前编译好的模板进行数据渲染.
var compiled_tpl = juicer(tpl);
var html = compiled_tpl.render(data);
> 注册/注销自定义函数(对象),在下边 ${变量} 中会有实例.
juicer.register('function_name', function);
juicer.unregister('function_name');
> 自定义模板语法边界符,下边是 Juicer 默认的边界符。你可以借此解决 Juicer 模板语法同某些后端语言模板语法冲突的情况.
juicer.set({
'tag::operationOpen': '{@',
'tag::operationClose': '}',
'tag::interpolateOpen': '${',
'tag::interpolateClose': '}',
'tag::noneencodeOpen': '$${',
'tag::noneencodeClose': '}',
'tag::commentOpen': '{#',
'tag::commentClose': '}'
});
{
cache: true [false],
strip: true [false],
errorhandling: true [false],
detection: true [false]
}
默认配置是 Juicer 推荐的使用方式,如果你使用过程中的确需要更改这些参数,可以这么做:
juicer.set('strip',false);
juicer.set('cache',false);
juicer.set({
'strip': false,
'cache': false
};
Juicer 默认会对编译后的模板进行缓存,从而避免同一模板多次数据渲染时候重复编译所耗的时间,如无特殊需要,强烈不建议关闭默认参数中的 cache,这么做将会令 Juicer 缓存失效从而降低性能.
手机预览