Fasty 是一个极快的 JavaScript 模板引擎。
Fasty 是一个简约、超快的 JavaScript 模板引擎, 它使用了非常独特的缓存技术,从而获得接近 JavaScript 极限的运行性能,并且同时支持 NodeJS 和浏览器。
Fasty 的渲染速度,超过很多市面上的 JavaScript 引擎 100 倍以上。
{{ }}
和 逻辑指令 {{~ }}
{{ $("#id").text() }}
示例 1
var template = '<div> hello {{ name }} </div>' var data = {name: "fasty"} var fasty = new Fasty(); var result = fasty.render(template,data); // result: <div> hello fasty </div>
示例 2
var template = ' {{attr}} hello {{ func1(name) }} ---' var data = {name: "fasty"} var fasty = new Fasty({ //共享的模板数据 或者 方法 share : { attr:'text...', func1:function (v){ return v + " kiss~~" }, } }); var result = fasty.render(template,data); // result: text... hello fasty kiss~~
// #1 变量 {{~ var x = 100}} {{x}} //输出: 100 // #2 字符串 {{"hello world"}} //输出:hello world // #3 安全输出,对 html 进行 escape {{# "<div> hello world </div>"}} //输出:<div> hello world </div> // #4 强制转换 html 输出 {{! "<div> hello world </div>"}} //输出:<div> hello world </div>
#1 {{~ var a =100}} #2 {{~ var a =100,b = 200,c=300}} #3 #{{~ let a =100}} #4 #{{~ let a =100,b=200,c=300}} #4 #{{~ const a =100}} #5 #{{~ const a =100,b=200,c=300}}
{{~ if (x == 100) }} {{~ elseif(x == 200) }} {{~ else if(x == 300) }} {{~ else }} {{~ end }}
同时支持 'elseif' or 'else if'
// #1 {{~ for (item of array) }} {{~end}} // #2 {{~ for (item in array) }} {{~end}} // #3 {{~ for (let item of array) }} {{~end}} // #4 {{~ for (const item in array) }} {{~end}} // #5 {{~ for (key of Object.keys(item) )}} {{~end}} // #6 {{~ for (var x = i;x < 100;x++) }} {{~ end }} // #7 {{~ for (item of someMethodInvoke().other()) }} {{~end}} // #8 {{~ for (var x = i;x < someMethodInvoke().other();x++) }} {{~ end }}
#1 {{a?.b?.c}} #2 {{a.bbbb?().ccc?.ddd}}
var options = { //共享模板方法和数据 share : { attr:'text...', func1:function (v){ return v + " kiss~~" }, }, // 是否是共享数据优先 // 默认 false,即: render 方法传入的 data 数据优先 shareDataFirst: false, //default is false //是否开启安全访问,这个功能不支持 IE 浏览器 //IE 下需要设置为 false,同时配置 false 后会得到更高的运行性能 safelyAccess: true, //自定义 html 安全输出方法 //当使用 {{# ... }} 的时候使用该方法转换 $escape:function (html){return html}, //自定义 unescape 方法 //当使用 {{! ... }} 的时候使用该方法转换 $unescape:function (value){return value} } var fasty = new Fasty(options); fast.render(template,data)
Fasty is licensed under the MIT License.
具体查看ejs官方文档 https://github.com/mde/ejs
什么是模板引擎 在 Web 开发中,我们经常会使用到模板引擎。简单点来说,我们可以把模板看成是一个含有某些变量的字符串,它们的具体值需要在动态运行时(请求的上下文)才能知道。比如,有下面一个模板: <h1>Hello, {{ name }}!</h1> 其中,name 是一个变量名,我们用 {{ }} 包裹它表示它是一个变量。我们给 name 传不同的值,模板会返回不同的字符串。像这样,使用真实的
本文向大家介绍常用的JavaScript模板引擎介绍,包括了常用的JavaScript模板引擎介绍的使用技巧和注意事项,需要的朋友参考一下 最近工作内容慢慢接近我的理想化(web前端),所以关注比较多的是前端性能!后台同事介绍使用ajax模板引擎,提高渲染速度! 下面介绍几款 JavaScript 模板引擎 1. Mustache 基于javascript 实现的模板引擎,类似于 Microsof
我们自己实现了一个轻量级的模板引擎,不要问为什么不用smart之类的,因为我们认为没有必要为了一个小小的模板引擎而引入smaart这样复杂的实现。你可能会说,smart功能强大,支持各种标签,标签也是很强大,而且还可以对模板引擎进行各种"灵活"的配置... 这里我们觉得有必要说明一下: 框架的内置模板引擎基本上实现了我们日常开中所有常用的标签。 不常用的标签我们也做了巧妙的实现。 我们只提供了扩展
内置模板引擎 视图的模板文件可以支持不同的解析规则,默认情况下无需手动初始化模板引擎。 可以通过下面的几种方式对模板引擎进行初始化。 配置文件 内置模板引擎的参数统一在配置目录的template.php文件中配置,例如: return [ // 模板引擎类型 支持 php think 支持扩展 'type' => 'Think', // 模板路径 '
Warning: The packages listed below may be outdated, no longer maintained or even broken. Listing here does not constitute an endorsement or recommendation from the Expressjs project team. Use at your