node使用模板引擎art-template
art-template不僅可以在瀏覽器使用,也可以在node使用
安裝:
npm install art-template
該命令在哪執行就會把包下載到哪裡,預設會下載到node_modules目錄中,node_modules不要改,也不支援改。
在node中使用art-template模板引擎,模板引擎最早誕生伺服器領域,後來發展到前端。
1.安裝:npm install art-template
2.在需要使用的檔案模組中載入art-template,只需要使用require方法載入就可以了,require('art-template'),
引數中的art-template就是你下載的包的名字,你install的名字是什麼,則你require中的就是什麼。
查文件,使用模板引擎的API
var template = require('art-template')
var fs = require('fs')
// 這裡不是瀏覽器
// template('script 標籤 id', {物件})
// var tplStr = `
// <!DOCTYPE html>
// <html lang="en">
// <head>
// <meta charset="UTF-8">
// <title>Document</title>
// </head>
// <body>
// <p>大家好,我叫:{{ name }}</p>
// <p>我今年 {{ age }} 歲了</p>
// <h1>我來自 {{ province }}</h1>
// <p>我喜歡:{{each hobbies}} {{ $value }} {{/each}}</p>
// </body>
// </html>
// `
fs.readFile('./tpl.html', function (err, data) {
if (err) {
return console.log('讀取檔案失敗了')
}
// 預設讀取到的 data 是二進位制資料
// 而模板引擎的 render 方法需要接收的是字串
// 所以我們在這裡需要把 data 二進位制資料轉為 字串 才可以給模板引擎使用
var ret = template.render(data.toString(), {
name: 'Jack',
age: 18,
province: '北京市',
hobbies: [
'寫程式碼',
'唱歌',
'打遊戲'
],
title: '個人資訊'
})
console.log(ret)
})
tpl.html內容如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
<p>大家好,我叫:{{ name }}</p>
<p>我今年 {{ age }} 歲了</p>
<h1>我來自 {{ province }}</h1>
<p>我喜歡:{{each hobbies}} {{ $value }} {{/each}}</p>
<script>
var foo = '{{ title }}'
</script>
</body>
</html>