高效的JS模板引擎 Juicer 发布 0.6.8-stable 版本,支持内联辅助函数,可在前后端通用

开源项目 guokai 发表于 2 年前最后回复来自 qq2850071112 2 年前

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

在 Node.js 环境中运行

可以借助 juicer-express-adapter 中间件在Node端使用Juicer以及简单的include功能(目前已经在美团酒店Node服务中使用)。因为我们团队目前在Node端使用Express,所以juicer-express-adapter主要是为了将Juicer无缝整合进Express,并引入服务端include方便服务端的模板开发和组织。(文档后续会补充更新,有问题或者需求可直接联系我)

npm install juicer-express-adapter
暂无回复,说出你的观点吧
登录后即可参与回复