art-template/src/compile/adapter/rule.art.js at master · aui/art-template (github.com)
nodejs中art-template模板语法冲突解决方案_arttemplate模板引擎和thinkphp冲突-CSDN博客
解析规则 – art-template (aui.github.io)
layui 与 art-template 冲突
const art = require('express-art-template')
art.template.defaults.rules.unshift({
test: /{{#[ \t]*(\/?)([\w\W]*?)[ \t]*}}/,
use: function (match, code, code1, code2) {
return {
code: JSON.stringify(match),
output: 'escape'
}
}
});
const app = express();
// view engine setup
app.engine('html', art);
app.set('view options', {
debug: process.env.NODE_ENV !== 'production',
extname: '.html'
});
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'html');
layui 与 flask 模板 冲突
使用 Jinja2的 raw 和 endraw 标签把 JavaScript 模板部分标记出来即可
{% raw %}
<script type="text/html" id="label">
<a>{{ d.label_name }}</a>
</script>
{% endraw %}
但这是就需要注意区分项目中的{{}}的值是jinja2还是layui
layui与django冲突
从django1.5开始,支持{%verbatim%}标签,verbatim的字面意思是逐字翻译的。Django不会渲染verbatim标签包裹的内容。所以只需要在{{}}前后加上{%verbatim%} 和{%endverbatim%}标签即可。
{% verbatim %}
<script type="text/html" id="label">
<a>{{ d.label_name }}</a>
</script>
{% endverbatim %}
正文完