使用react-pdf 6.2.2版本出现模块解析错误,寻求解决方案
问题说明
- 使用react-pdf 6.2.2版本时触发模块解析错误,提示
模块解析失败:意外字符'#'(1413:9)。可能需要合适的loader来处理该文件类型,当前未配置任何loader处理此文件 - react-pdf 4.1.0版本可正常运行
- 报错代码片段:
class PDFDocumentLoadingTask {
static #docId = 0;
constructor() {
...
}
解决方案
错误源于react-pdf 6.x版本使用了ES私有类字段语法(如代码中的#docId),当前webpack/babel配置未支持该语法,导致解析失败。按以下步骤修复:
- 安装必要的babel插件
npm install @babel/plugin-proposal-private-property-in-object @babel/plugin-proposal-private-methods --save-dev
- 修改babel配置文件(如
.babelrc或babel.config.js),添加插件:
{ "presets": ["react-app"], "plugins": [ "@babel/plugin-proposal-private-property-in-object", "@babel/plugin-proposal-private-methods" ] }
- 若直接配置webpack,需确保babel-loader处理react-pdf文件,更新
module.rules规则:
module: { rules: [ { test: /\.(js|jsx)$/, exclude: /node_modules\/(?!react-pdf)/, use: 'babel-loader' } ] }
- 配置完成后重启项目,即可使用react-pdf最新版本实现PDF预览。
内容的提问来源于stack exchange,提问作者uma
相关产品推荐
相关产品推荐

