升级Babel包后出现保留关键字错误,求修复方案
Babel包升级后构建报错修复建议
报错信息
D:\node\node_modules\npm\node_modules\init-package-json\lib\default-input.js: Unexpected reserved word 'package'. (49:18)
相关配置信息
升级后的开发依赖
"devDependencies": { "@babel/cli": "^7.22.0", "@babel/node": "^7.22.0", "@babel/core": "^7.22.9", "babel-loader": "^9.2.1", "babel-polyfill": "^6.26.0", }
当前.babelrc配置
{ "presets": [ "env" ] }
构建命令
"build": "@babel/node buildScripts/build.js",
修复方案
替换过时的polyfill依赖:Babel 7.x已弃用
babel-polyfill,卸载它并安装新版替代包:npm uninstall babel-polyfill npm install core-js@3 regenerator-runtime --save之后在项目入口文件添加导入:
import 'core-js/stable'; import 'regenerator-runtime/runtime';或者在babel配置中自动注入(推荐):修改
.babelrc的preset配置。修正Babel preset配置:Babel 7.x中
env预设需使用@babel/preset-env(旧版babel-preset-env已废弃),先安装该包:npm install @babel/preset-env --save-dev然后更新
.babelrc:{ "presets": [ ["@babel/preset-env", { "useBuiltIns": "usage", "corejs": 3 }] ] }检查Node.js版本兼容性:@babel/node 7.22.0要求Node.js版本≥14.0.0,若你的Node版本过低,直接升级到LTS版本即可。
清理依赖缓存避免冲突:删除
node_modules文件夹和package-lock.json文件,重新执行:npm install使用本地babel-node执行命令:错误路径指向全局npm模块,可能是全局与本地依赖冲突,修改构建命令为本地路径:
"build": "./node_modules/.bin/babel-node buildScripts/build.js"
内容的提问来源于stack exchange,提问作者Amit K.
相关产品推荐
相关产品推荐

