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

如何解决babel-loader与pdfjs-dist中的Module parse failed错误?

解决babel-loader处理pdfjs-dist时的私有字段语法错误

问题原因

报错中的static #docId = 0属于ES私有类字段语法,你的babel-loader当前配置未支持该语法,导致解析失败。

解决步骤

  1. 确认Babel版本
    确保@babel/core版本在7.8.0及以上,该版本开始默认支持私有字段语法。若版本过低,先升级:

    npm install --save-dev @babel/core@latest
    
  2. 安装必要的Babel插件(按需)
    若升级后仍报错,或需兼容旧版Babel,安装私有字段相关插件:

    npm install --save-dev @babel/plugin-proposal-private-property-in-object @babel/plugin-proposal-private-methods
    
  3. 配置Babel
    修改项目根目录的.babelrc或babel.config.js,添加插件:

    // babel.config.js示例
    module.exports = {
      presets: ['@babel/preset-env'], // 保留你原有的preset配置
      plugins: [
        "@babel/plugin-proposal-private-property-in-object",
        "@babel/plugin-proposal-private-methods"
      ]
    };
    
  4. 确保webpack处理pdfjs-dist文件
    在webpack配置中,明确让babel-loader处理pdfjs-dist目录下的文件:

    // webpack.config.js示例
    module.exports = {
      module: {
        rules: [
          {
            test: /\.js$/,
            include: /node_modules\/pdfjs-dist/,
            use: 'babel-loader'
          },
          // 你的其他loader规则...
        ]
      }
    };
    

额外提示

如果项目需要兼容低版本浏览器,可配合@babel/preset-env的useBuiltIns: 'usage'和corejs配置,自动补全必要的polyfill。

内容的提问来源于stack exchange,提问作者Vishnu Vijay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:50:42