前言
不知不覺就很長時間沒造過什么輪子了,以前一直想自己實現(xiàn)一個模板引擎,只是沒付諸于行動,最近終于在業(yè)余時間里抽了點時間寫了一下。因為我們的項目大部分用的是 swig 或者 nunjucks ,于是就想實現(xiàn)一個類似的模板引擎。
至于為什么要做這么一個東西?基本上每一個做前端的人都會有自己的一個框架夢,而一個成熟的前端框架,模板編譯能力就是其中很重要的一環(huán),雖然目前市面上的大部分框架 vue、angular 這些都是屬于 dom base 的,而 swig nunjucks ejs這些都是屬于 string base 的,但是其實實現(xiàn)起來都是差不多的。不外乎都是 Template
=parse=> Ast
=render=>String
。
再者,做一個模板引擎,個人感覺還是對自身的編碼能力的提升還是很有幫助的,在性能優(yōu)化、正則、字符解析上尤為明顯。在日后的業(yè)務需求中,如果有一些需要解析字符串相關的需求,也會更得心應手。