文档
语法
<%= VALUE %>
用来做不转义插值;<%- VALUE %>
用来做 HTML 转义插值;<% expression %>
用来描述 JavaScript 流程控制。
示例
创建编译模板
js
const lodash = require('lodash')
// 创建编译模板
let compiled = lodash.template('hello <%= user %>')
let ret = compiled({ user: 'Tom' })
console.log(ret)
// hello Tom
转义数据的值
js
const lodash = require('lodash')
// 转义数据的值
let compiled = lodash.template('<b><%- value %></b>');
let ret = compiled({ 'value': '<script>' })
console.log(ret)
// <b><script></b>
执行 JavaScript
js
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