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

相关推荐
黄毛火烧雪下21 分钟前
React 为什么要自定义 Hooks?
javascript·react.js·ecmascript
莲青见卿35 分钟前
react+echarts实现变化趋势缩略图
javascript·react.js·echarts
爱吃芒果的蘑菇1 小时前
使用pybind11封装C++API
开发语言·c++·python
慕y2741 小时前
Java学习第一百一十一部分——Jenkins(二)
java·开发语言·学习·jenkins
BUG再也不见1 小时前
Python爬虫 urllib 模块详细教程:零基础小白的入门指南
开发语言·网络·爬虫·python
ZzMemory2 小时前
深入理解JS(八):事件循环,单线程的“一心多用”
前端·javascript·面试
钢铁男儿2 小时前
C# 异步编程(GUI程序中的异步操作)
开发语言·c#
weixin_307779132 小时前
C#实现Hive到Snowflake数据迁移
开发语言·数据仓库·hive·c#
0wioiw03 小时前
Android-Kotlin基础(Jetpack③-LiveData)
android·开发语言·kotlin
java1234_小锋4 小时前
一周学会Matplotlib3 Python 数据可视化-坐标轴 (Axis)
开发语言·python·信息可视化·matplotlib·matplotlib3