建立网站要多少钱,网站备案主体注销,欧美网站建设教程,网站设计策划书模板转载自 art-template解析规则
解析规则
template.defaults.rules
art-template 可以自定义模板解析规则#xff0c;默认配置了原始语法与标准语法。
修改界定符 // 原始语法的界定符规则
template.defaults.rules[0].test /%(#?)((?:|#|[-])?)[ \t]*([\w\W]*?)[…转载自 art-template解析规则
解析规则
template.defaults.rules
art-template 可以自定义模板解析规则默认配置了原始语法与标准语法。
修改界定符 // 原始语法的界定符规则
template.defaults.rules[0].test /%(#?)((?:|#|[-])?)[ \t]*([\w\W]*?)[ \t]*(-?)%/;
// 标准语法的界定符规则
template.defaults.rules[1].test /{{([#]?)[ \t]*(\/?)([\w\W]*?)[ \t]*}}/;它们是一个正则表达式你可以只修改界定符部分。例如修改 % % 为 ? ? var rule template.defaults.rules[0];
rule.test new RegExp(rule.test.source.replace(%, \\\?).replace(%, \\\?));添加语法
从一个简单的例子说起让模板引擎支持 ES6 ${name} 模板字符串的解析 template.defaults.rules.push({test: /\${([\w\W]*?)}/,use: function(match, code) {return {code: code,output: escape}}
});其中 test 是匹配字符串正则use 是匹配后的调用函数。关于 use 函数
参数一个参数为匹配到的字符串其余的参数依次接收 test 正则的分组匹配内容返回值必须返回一个对象包含 code 与 output 两个字段 code 转换后的 JavaScript 语句output 描述 code 的类型可选值 escape 编码后进行输出raw 输出原始内容false 不输出任何内容
值得一提的是语法规则对渲染速度没有影响模板引擎编译器会帮你优化渲染性能。