Fasty 一个极快的 JavaScript 模板引擎

Fasty 一个极快的 JavaScript 模板引擎

Fasty 是一个简约、超快的 JavaScript 模板引擎, 它使用了非常独特(独创的)的缓存技术,从而获得接近 JavaScript 极限的运行性能,并且同时支持 NodeJS 和浏览器。

Fasty 的渲染速度,超过了已知市面上的所有 JavaScript 引擎 100 倍以上。

使用方法

示例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~~

Fasty 语法

输出

// #1
{{var x = 100}}
{{x}}

// #2
{{"hello world"}}

if-else

{{~if (x == 100)}}

{{~else if(x == 200)}}

{{~else}}

{{~end}}

for 循环

// #1
{{~for (item of array)}}

{{~end}}


// #2
{{~for (item in array)}}

{{~end}}


// #3
{{~for (key of Object.keys(item))}}

{{~end}}


// #4

{{~for (var x = i;x < 100;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        

//是否开启安全访问,这个功能是使用 Proxy 实现的,不支持 IE 浏览器    
//IE 下需要设置为 false    s
afelyAccess: true,
}

作者

License

Fasty is licensed under the MIT License.


评论区

司徒阿仔

2022-05-26 16:11

哇,不错,把玩一下。

SuperEric

2022-05-26 17:53

海哥后端玩好了,又开始折腾前端了。

海哥

2022-05-26 18:50

@SuperEric 公司内部有一些产品,需要一些底层的 js 库,没找到好用的就只能自己写一个了。

北流家园网

2022-05-27 14:57

正好需求,文档还不太完善

北流家园网

2022-05-27 14:58

海哥有空搞个MVVM框架呀

东泠

2022-05-30 14:48

fmpoffice

2022-05-31 09:43

佛山人民发来贺电

happyboy

2022-06-02 09:16

用过几次ART-TEMPLATE,也还可以。

海哥

2022-06-02 09:32

@happyboy 可以和 art-template 对比下渲染速度和性能。