模板引擎是通過字串拼接得到的
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...