当前位置:网站首页>使用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 + '\ };\ ');
边栏推荐
猜你喜欢
【二】TS基本类型
【genius_platform软件平台开发】第七十五讲:YUY2转RGB24实现源码
数字孪生园区场景中的坐标知识
ECCV 2022 | 清华&腾讯AI Lab提出REALY:重新思考3D人脸重建的评估方法
RAID存储级别分类
尚硅谷尚品项目汇笔记(三)
Five speakers: seventy genius_platform software platform development 】 【 turn YUY2 RGB24 implementation source code
【一】TS安装编译配置自动生成.js文件
什么是实时流引擎?
Oracle 11 g rac finished patch, dbca new patches of SQL database also needs to perform?
随机推荐
内网渗透之kerberos认证(三)
【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(十)
默认参数的代码实现及日期的注入与显示
尚硅谷尚品项目汇笔记(二)
Smart Contract Security - delegatecall (1)
常用软件静默安装参数
Locking and Concurrency Control (4)
golang源码分析(9)调度
golang源码阅读(11)GO中各个目录的功能
接入网学习笔记
Gartner released, annual Challenger!
关于我用iVX沉浸式体验了一把0代码项目创建
SQL语句基础
【无标题】
Mysql开启binlog
Informatica旗下PowerCenter的元数据库解析
工信部电子五所张志强:中国数据库行业发展趋势分析
Oracle 11 g rac finished patch, dbca new patches of SQL database also needs to perform?
MySQL——慢查询日志分析
JWT原理详解_电磁感应现象原理