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

相关推荐
在放️几秒前
Python 练习题讲解 2 · 循环计算
开发语言·python
江华森6 分钟前
高级 Bash 脚本编程指南 — 实战教程
开发语言·bash
我不是懒洋洋11 分钟前
【C++】string(string的成员变量、auto和范围for、string常用接口的说明、OJ题目、string的模拟实现)
c语言·开发语言·c++·visual studio
Brilliantwxx12 分钟前
【C++】 C++11 知识点梳理(中)
开发语言·c++
j7~16 分钟前
【C++】STL--Vector容器--拆析解剖Vector的实现以及Vector的底层详解(2)
开发语言·c++·动态二维数组·vector深度剖析·vector的实现·杨辉三角形
三品吉他手会点灯7 小时前
C语言学习笔记 - 50.流程控制4 - 流程控制为什么非常非常重要
c语言·开发语言·笔记·学习
武清伯MVP10 小时前
前端跨域方案大合集
前端·javascript
在放️10 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy10 小时前
java知识五(继承)
java·开发语言
c++之路10 小时前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++