前言

不知不覺(jué)就很長(zhǎng)時(shí)間沒(méi)造過(guò)什么輪子了,以前一直想自己實(shí)現(xiàn)一個(gè)模板引擎,只是沒(méi)付諸于行動(dòng),最近終于在業(yè)余時(shí)間里抽了點(diǎn)時(shí)間寫了一下。因?yàn)槲覀兊捻?xiàng)目大部分用的是 swig 或者 nunjucks ,于是就想實(shí)現(xiàn)一個(gè)類似的模板引擎。

至于為什么要做這么一個(gè)東西?基本上每一個(gè)做前端的人都會(huì)有自己的一個(gè)框架夢(mèng),而一個(gè)成熟的前端框架,模板編譯能力就是其中很重要的一環(huán),雖然目前市面上的大部分框架 vue、angular 這些都是屬于 dom base 的,而 swig nunjucks ejs這些都是屬于 string base 的,但是其實(shí)實(shí)現(xiàn)起來(lái)都是差不多的。不外乎都是 Template =parse=> Ast =render=>String。

再者,做一個(gè)模板引擎,個(gè)人感覺(jué)還是對(duì)自身的編碼能力的提升還是很有幫助的,在性能優(yōu)化、正則、字符解析上尤為明顯。在日后的業(yè)務(wù)需求中,如果有一些需要解析字符串相關(guān)的需求,也會(huì)更得心應(yīng)手。

網(wǎng)友評(píng)論