项目导入aws-amplify出现camelcase-keys解析错误,未使用webpack如何解决?
Amplify导入运行报错解决方案
错误原因
报错是因为@aws-amplify/geo依赖的camelcase-keys v7+版本使用了ES6+对象展开语法,你当前项目的构建工具未对node_modules下的依赖做ES6语法转译,无法识别...options语法导致解析失败。
可执行解决方案
- 方案1:降级aws-amplify到兼容稳定版
直接安装v4.x分支的aws-amplify版本,该分支依赖的camelcase-keys为v6版本,无新语法兼容问题,执行命令:# npm安装 npm install aws-amplify@4.3.46 # yarn安装 yarn add aws-amplify@4.3.46 - 方案2:锁定
camelcase-keys兼容版本
如果你需要使用最新版aws-amplify,可以通过包管理器的版本覆盖功能强制使用无兼容问题的camelcase-keys版本:- 若使用npm >=8.3.0,在项目
package.json中新增overrides配置:
{ "overrides": { "camelcase-keys": "^6.2.2" } }- 若使用yarn v1,在项目
package.json中新增resolutions配置:
配置完成后删除项目的{ "resolutions": { "camelcase-keys": "^6.2.2" } }node_modules文件夹、package-lock.json或yarn.lock文件,重新执行依赖安装命令即可。 - 若使用npm >=8.3.0,在项目
- 方案3:配置构建工具转译规则
调整你当前使用的构建工具配置,将node_modules/camelcase-keys加入babel转译范围,确保ES6+语法会被转译为ES5语法后再打包。
内容的提问来源于stack exchange,提问作者Ezequiel Frias
相关产品推荐
相关产品推荐

