我找到了要使用的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});
。 最佳答案
假设您正在使用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
}
})
关于javascript - 如何在.pipe中使用cheerio.load(cheerio(function($){?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48487861/