模板引擎的實現原理

2021-09-19 06:04:34 字數 1572 閱讀 2513

模板引擎是通過字串拼接得到的

let template =

'hello <% name %>!'

let template =

'hello '

+ name +

'!'

字串是通過new function執行的

let name =

'world'

let template =

` let str = 'hello ' + name + '!'

return str

`let fn =

newfunction

('name'

, template)

console.

log(

fn(name)

)// hello world!

let template =

'hello <% name %>!'

let name =

'world'

function

compile

(template)

+ '`

})html =

`let str = '

$'; return str`

return

newfunction

('name'

, html)

}let str =

compile

(template)

console.

log(

str(name)

)// hello world!

函式只能接收乙個name變數作為引數,功能太單一了,一般會通過物件來傳參,with來減少變數訪問。

let params =

let str =

''with

(params)

的年齡是$歲`

}console.

log(str)

// 使用者張三的年齡是18歲

let template =

'hello <% name %>!'

let name =

'world'

function

compile

(template)

+ '`

})html =`'$

'` html =

`let str = ''; with (params)

; } return str`

return

newfunction

('params'

, html)

}let str =

compile

(template)

console.

log(

str())

// hello world!

模板引擎原理

1 模板概念 通常是指嵌入某種動態程式語言 的文字,資料和模板通過某種形式的結合可以變化出不同的結果,模板通常用來定義顯示的形式,能夠使資料展示更加豐富,而且容易維護 2 模板的好處 1 簡化了html書寫 2 通過程式設計元素 比如迴圈和條件分支 對資料的展現更具有控制力 3 分離資料與展現,使得...

artTemplate模板引擎實現原理簡析

arttemplate是一款js模板引擎,可對伺服器端響應回來的資料進行渲染,將其展示到頁面上。其內部實現原理主要是借助正規表示式查詢匹配的內容,然後用響應回來的資料對其替換。其實現原理如下 所示 1.原理的核心是如下封裝的這個函式 mytemplatewindow.zane reg.exec 方法...

php模板引擎原理

訪問php檔案,php檔案會去載入模板引擎,通過模板引擎去載入模板然後替換模板裡面的變數 然後生成乙個編譯檔案 最後將該編譯檔案匯入 訪問的php檔案中輸出 第二次訪問的時候 如果 快取檔案存在或者沒有被改動則直接 匯入快取檔案 輸出 否則重新編譯 自定義的乙個模板引擎 mytpl.class.ph...