You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gulp的cheerio管道中配置cheerio.load的decodeEntities参数

解决Gulp Cheerio插件的Unicode编码问题

我来帮你搞定这个问题!你遇到的输出内容被统一转成Unicode的问题,确实是因为cheerio默认会自动解码HTML实体。你查到的decodeEntities: false参数正是关键解决方案,只需要调整一下在Gulp管道中调用cheerio的方式就行。

原来的代码直接把处理函数传给cheerio,现在我们需要改成传入一个配置对象——把处理逻辑放在run属性里,同时通过parserOptions传入编码相关的配置。修改后的完整代码如下:

gulp.task('indexHtml', function () {
  return gulp.src('index.html')
    .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
      }
    }))
    .pipe(gulp.dest('test/'));
});

简单说下改动点:

  • 把原来直接传入cheerio的处理函数,移到了配置对象的run字段中
  • 新增parserOptions字段并设置decodeEntities: false,这会告诉cheerio不要解码HTML实体,输出内容就能保留原本的字符格式,不会再被转成Unicode了

内容的提问来源于stack exchange,提问作者武一鸣

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:38:19