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

相关推荐
闻缺陷则喜何志丹2 分钟前
【二分查找】P9822 [ICPC2020 Shanghai R] Walker【有误差】|普及
开发语言·算法·r语言
十五年专注C++开发2 分钟前
C++ union 的一种妙用法
开发语言·c++
hui函数4 分钟前
python全栈入门到实战【基础篇 02】环境搭建:Python解释器与PyCharm、VSCode编辑器安装配置详解
开发语言·python
venus607 分钟前
上海计算机学会2025年8月月赛丙组T1镜像加密题解
开发语言·c++·算法
智航GIS11 分钟前
8.9 装饰器
开发语言·python
萧曵 丶17 分钟前
Java 线程池优化
java·开发语言
YJlio18 分钟前
PsPing 学习笔记(14.6):直方图视图——可视化延迟分布与抖动
开发语言·笔记·python·学习·eclipse·pdf·github
sayang_shao21 分钟前
C++ 模板【笔记】
开发语言·c++·笔记
初夏睡觉23 分钟前
如何判断一个数是否为2的整数幂(c++)
开发语言·c++
峰回路转之后32 分钟前
获取数据状态最大且更新时间最新的数据四种排序方式
java·开发语言