我找到了要使用的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/

10-11 16:22