文檔
- https://www.lodashjs.com/docs/lodash.template
- https://lodash.com/docs/4.17.15#template
語法
<%= VALUE %>
用來做不轉義插值;<%- VALUE %>
用來做 HTML 轉義插值;<% expression %>
用來描述 JavaScript 流程控制。
示例
創建編譯模板
const lodash = require('lodash')// 創建編譯模板
let compiled = lodash.template('hello <%= user %>')
let ret = compiled({ user: 'Tom' })
console.log(ret)
// hello Tom
轉義數據的值
const lodash = require('lodash')// 轉義數據的值
let compiled = lodash.template('<b><%- value %></b>');
let ret = compiled({ 'value': '<script>' })
console.log(ret)
// <b><script></b>
執行 JavaScript
const lodash = require('lodash')// 執行 JavaScript
let compiled = lodash.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>'
)
let ret = compiled({ users: ['Tom', 'Jack'] })
console.log(ret)
// <li>Tom</li><li>Jack</li>
應用
vue的html模板中用到html-webpack-plugin來處理模板,可以使用 lodash template 語法插入內容:
https://cli.vuejs.org/zh/guide/html-and-static-assets.html