js:lodash template文件模板语法和应用

文档

语法

  • <%= 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>&lt;script&gt;</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

相关推荐
MSTcheng.4 小时前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
晓13134 小时前
第七章 【C语言篇:文件】 文件全面解析
linux·c语言·开发语言
愚者游世4 小时前
Delegating Constructor(委托构造函数)各版本异同
开发语言·c++·程序人生·面试·改行学it
梵刹古音4 小时前
【C语言】 指针基础与定义
c语言·开发语言·算法
Ekehlaft4 小时前
这款国产 AI,让 Python 小白也能玩转编程
开发语言·人工智能·python·ai·aipy
rit84324994 小时前
MATLAB中Teager能量算子提取与解调信号的实现
开发语言·matlab
开源技术4 小时前
Python GeoPandas基础知识:地图、投影和空间连接
开发语言·ide·python
hedley(●'◡'●)5 小时前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
Cult Of5 小时前
Alicea Wind的个人网站开发日志(2)
开发语言·python·vue
百思可瑞教育5 小时前
构建自己的Vue UI组件库:从设计到发布
前端·javascript·vue.js·ui·百思可瑞教育·北京百思教育