当前位置:网站首页>使用lodash替换js字符串中的变量
使用lodash替换js字符串中的变量
2022-08-02 16:58:00 【学亮编程手记】
// 使用 "interpolate" 分隔符创建编译模板
var compiled = _.template('hello <%= user %>!');
compiled({
'user': 'fred' });
// => 'hello fred!'
// 使用 HTML "escape" 转义数据的值
var compiled = _.template('<b><%- value %></b>');
compiled({
'value': '<script>' });
// => '<b><script></b>'
// 使用 "evaluate" 分隔符执行 JavaScript 和 生成HTML代码
var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');
compiled({
'users': ['fred', 'barney'] });
// => '<li>fred</li><li>barney</li>'
// 在 "evaluate" 分隔符中使用内部的 `print` 函数
var compiled = _.template('<% print("hello " + user); %>!');
compiled({
'user': 'barney' });
// => 'hello barney!'
// 使用 ES 分隔符代替默认的 "interpolate" 分隔符
var compiled = _.template('hello ${ user }!');
compiled({
'user': 'pebbles' });
// => 'hello pebbles!'
// 使用自定义的模板分隔符
_.templateSettings.interpolate = /{
{([\s\S]+?)}}/g;
var compiled = _.template('hello {
{ user }}!');
compiled({
'user': 'mustache' });
// => 'hello mustache!'
// 使用反斜杠符号作为纯文本处理
var compiled = _.template('<%= "\\<%- value %\\>" %>');
compiled({
'value': 'ignored' });
// => '<%- value %>'
// 使用 `imports` 选项导入 `jq` 作为 `jQuery` 的别名
var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';
var compiled = _.template(text, {
'imports': {
'jq': jQuery } });
compiled({
'users': ['fred', 'barney'] });
// => '<li>fred</li><li>barney</li>'
// 使用 `sourceURL` 选项指定模板的来源URL
var compiled = _.template('hello <%= user %>!', {
'sourceURL': '/basic/greeting.jst' });
compiled(data);
// => 在开发工具的 Sources 选项卡 或 Resources 面板中找到 "greeting.jst"
// 使用 `variable` 选项确保在编译模板中不声明变量
var compiled = _.template('hi <%= data.user %>!', {
'variable': 'data' });
compiled.source;
// => function(data) {
// var __t, __p = '';
// __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';
// return __p;
// }
// 使用 `source` 特性内联编译模板
// 便以查看行号、错误信息、堆栈
fs.writeFileSync(path.join(cwd, 'jst.js'), '\ var JST = {\ "main": ' + _.template(mainText).source + '\ };\ ');
边栏推荐
猜你喜欢
随机推荐
In the idea to create a web project _idea deployment of the web project
【电子器件笔记7】MOS管参数和选型
es6 map使用场景
MYSQL下载及安装完整教程
Pytest学习笔记
金仓数据库KingbaseES安全指南--6.13. 关于身份验证的常见问题
golang源码分析(2):Golang context 包
Inconsistency between oracle and mysql statement results
MySQL常见函数
Redis进阶之路:深度解析Redis单线程架构,图文并茂不能再清晰了
js通过两种方式进行对商品价格排序
Navicat premium download and install 15 detailed tutorial
电烙铁的基础知识
Locking and Concurrency Control (4)
golang源码分析(5):sync.Once
【一】TS安装编译配置自动生成.js文件
融云「 IM 进阶实战高手课」系列直播上线
【二】通过props进行传值,子页面多种方式接收
数字孪生园区场景中的坐标知识
Timestamp formatting "recommended collection"