Layui 模板与其他模板冲突

285次阅读
没有评论

由于laytpl分隔符与后端模板handlebars的分隔符冲突,改了laytpl的分隔符后,数据重载方法出错,请各位大神指教怎么解决? · Issue #I3XO87 · Layui/layui – Gitee.com

art-template/src/compile/adapter/rule.art.js at master · aui/art-template (github.com)

模板引擎 laytpl – Layui 文档

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 %}
正文完
 
wujingquan
版权声明:本站原创文章,由 wujingquan 2024-03-20发表,共计1145字。
转载说明:Unless otherwise specified, all articles are published by cc-4.0 protocol. Please indicate the source of reprint.
评论(没有评论)