发布React包执行npm run build遇BABEL配置错误求助
解决React包构建时Babel版本不兼容的错误
错误根源是你使用的Babel版本不兼容:babel-cli是6.x版本,而react-scripts 5.0.1自带的babel-preset-react-app是适配Babel 7的版本,两者无法兼容,导致识别不了预设里的overrides选项。
解决方案步骤
步骤1:卸载旧的Babel 6依赖
执行以下命令移除过时的包:
npm uninstall babel-cli babel-preset-react
步骤2:安装Babel 7的必要工具
安装Babel 7的CLI和预设相关包:
npm install --save-dev @babel/cli @babel/preset-react-app
步骤3:调整Babel配置(可选)
如果后续仍有问题,建议将.babelrc替换为项目根目录的babel.config.json,内容保持不变:
{ "presets": [["react-app", { "absoluteRuntime": false }]] }
步骤4:验证build脚本
package.json中的build命令无需修改,因为@babel/cli安装后,全局调用的babel命令会自动指向7版本工具:
"build": "cross-env NODE_ENV=production babel src/lib --out-dir dist --copy-files --ignore __tests__,spec.js,test.js,__snapshots__"
步骤5:重新安装依赖并构建
清理旧依赖后重新安装:
rm -rf node_modules package-lock.json npm install
执行构建命令:
npm run build
内容的提问来源于stack exchange,提问作者Harj
相关产品推荐
相关产品推荐

