【问题标题】:How to use content with HTML inside JSON data with nunjucks and gulp-data?如何在带有 nunjucks 和 gulp-data 的 JSON 数据中使用 HTML 内容?
【发布时间】:2016-05-13 10:50:24
【问题描述】:

如何通过 Gulp-data 使用带有 JSON 的 HTML?我在 Gulp、NunjucksMJML 的静态网站构建过程中使用它

JSON

{
 message:"Welcome to <span class='red'>world</span>"
}

.nunjucks 文件

{{ message }}

在最终的 HTML 输出中给出这个输出

Welcome to &lt;span class=&#39;red&#39;&gt;world&lt;/span&gt;

【问题讨论】:

    标签: javascript html json gulp nunjucks


    【解决方案1】:

    看起来 Nunjucks 默认使用 autoescaping: true(由于他们的文档)。

    gulp-nunjucks-render 使用envOptions 配置模板引擎(代码第20行)。

    您可以尝试在 gulp 的选项中传递 autoescaping: false 以禁用转义(readme 中的更多信息)。

    或者您可以在模板中使用{{ message | safe }} 来禁用一段代码的转义。 API Docs: Autoescaping中的模式信息

    【讨论】:

    • 现在似乎是“autoescape”,而不是“ing”。所以一个管道 gulp 任务看起来像这样: .pipe(nunjucks({ envOptions: { autoescape: false }, path: [paths.views.templates] })) 参考:mozilla.github.io/nunjucks/api.html#opts-autoescape
    • @PeterLewis 看起来像是构建器的全局配置,出于安全原因,最好保持默认状态。但是单模板输出自动转义仍然存在 - API Docs: Autoescaping
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    相关资源
    最近更新 更多