如何在.pipe中使用cheerio.load(cheerio(function($){?

时间:2018-01-28 15:16:57

标签: javascript node.js decode cheerio

我找到了一个我想要使用的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});

1 个答案:

答案 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
  }
})