我找到了一个我想要使用的HTML压缩gulp插件。我遇到了编码问题。
这是用别人的插件写的:
gulp.task ('indexHtml', function () {
return gulp.src ('index.html')
.pipe (cheerio (function ($) {
$ ('script'). remove ();
$ ('link'). remove ();
$ ('body'). append ('<script src = "skin / zhuce / MergeMin / app.full.min.js"> </ script>');
$ ('head'). append ('<link rel = "stylesheet" href = "skin / zhuce / MergeMin / app.full.min.css">');
})))
.pipe (gulp.dest ('test /'));
});
但输出是统一的Unicode。导致某些字符无法仅在浏览器中读取才能解释。
我搜索并找到了其他人指出的解决方案:
使用cheerio.load(html,{decodeEntities:false});
传入参数
但我不知道如何在Node.js中做到这一点。
我在上面的代码中面对这个嵌套:
.pipe (cheerio (function ($) {
我不知道如何更改:cheerio.load (html, {decodeEntities: false});
。
答案 0 :(得分:0)
假设你正在使用gulp-cheerio,你需要改变:
.pipe (cheerio (function ($) {
$ ('script'). remove ();
$ ('link'). remove ();
$ ('body'). append ('<script src = "skin / zhuce / MergeMin / app.full.min.js"> </ script>');
$ ('head'). append ('<link rel = "stylesheet" href = "skin / zhuce / MergeMin / app.full.min.css">');
})))
致:
.pipe (cheerio ({
run: (function ($) {
$ ('script'). remove ();
$ ('link'). remove ();
$ ('body'). append ('<script src = "skin / zhuce / MergeMin / app.full.min.js"> </ script>');
$ ('head'). append ('<link rel = "stylesheet" href = "skin / zhuce / MergeMin / app.full.min.css">');
}))),
parserOptions: {
decodeEntities: false,
//other options here
}
})