1. 程式人生 > >node使用模板引擎art-template

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>