Juicer 是一个高效、轻量的前端 (Javascript) 模板引擎,效率和易用是它追求的目标。 除此之外,它还可以运行在 Node.js 环境中,支持命令行预编译,内联辅助函数,等丰富的特性。
0.6.8-stable
新增内联辅助函数:
内联辅助函数 {@helper } ... {@/helper}
要解决的痛点主要是前后端对helper的公用,目前美团酒店已经在生产环境部署Node承载前端应用,Node端和Browser端均借助Juicer做模板的同步和异步渲染,但业务逻辑复杂的时候,模板中免不了会用到不少的辅助函数(helper),而Node端负责首屏渲染,Browser端负责异步渲染,但helper如何做到前后端通用显得尤为重要,否则就需要两份代码同时维护:
如果你需要在页面或者模板内定义辅助函数,可以像这样使用 helper
,同时支持Node和Browser.
<!-- {@helper numberPlus} function(number) { return number + 1; } {@/helper} -->
Javascript 代码:
var tpl = 'Number: ${num|numberPlus}'; juicer(tpl, { num: 123 }); //输出 Number: 124
可以借助 juicer-express-adapter
中间件在Node端使用Juicer以及简单的include功能(目前已经在美团酒店Node服务中使用)。因为我们团队目前在Node端使用Express,所以juicer-express-adapter
主要是为了将Juicer无缝整合进Express,并引入服务端include
方便服务端的模板开发和组织。(文档后续会补充更新,有问题或者需求可直接联系我)
npm install juicer-express-adapter