创建了一个单独的最小示例存储库,说明了这里发生的事情(有关如何运行的说明,请参阅README.md):
https://github.com/oleersoy/nunjucks-cheerio/
正在呈现的文件是src/test.html
。它包含:
{% for item in ['100', '300'] %}
<div class="u-color-background-gray-{{item}}>
<code>u-color-background-gray-{{item}}</code>
</div>
{% endfor %}
渲染时,某些内容会被转义,即使gulp-cheerio
操作应该是noop,因为它应该处理的内容不存在:
<div class="u-color-background-gray-100>
<code>u-color-background-gray-100</code>
</div>
<div class=" u-color-background-gray-300="">
<code>u-color-background-gray-300</code>
</div>
gulpfile.js
看起来像这样:
gulp.task('test', function() {
return gulp
.src("src/**")
.pipe(nunjucksRender({
path: ["src"]
}))
.pipe(cheerio(function($, file) {
$('.Test-markup > code').each(function() {
var markup = $(this).html();
//Insert the Test-render block after the Test-then block
//Append the markup block to the Test-render block
$($(this).parent().next()).after(renderTestBlock).next().append(markup);
});
}))
.pipe(gulp.dest("dist"));
});
任何人都知道可能导致内容泄露的原因是什么?
作为参考,我还提出了cheerio和gulp-cheerio
的问题答案 0 :(得分:0)
在模板字符串"
class="u-color-background-gray-{{item}}>