在写HTML静态模版的时候,遇到这样的定义:
<!--{{spread_info}}-->
这是后端程序给保留的模版字段。当执行swig时,生成的HTML模版变成这样了:
<!---->
发现木有?swig把{{spread_info}}当成了一个变量,如果这个变量不存在就输出空字符串。
重新查看认识一下swig前端模板引擎一文,发现解决方案有两种:
一、重置Swig选项对象中变量控制符
var swig = require('swig');
var myswig = new swig.Swig({varControls: ['{{', '}}']});
二、内置过滤器raw标签
强制内容不会自动转义。所有swig指令都将被忽略,内容将完全按照给定的方式呈现。
{% raw %}<!--{{spread_info}}-->{% endraw %}
//<!--{{spread_info}}-->