AWS Amplify & React Native:无法解析@aws-amplify/ui样式文件问题求助
解决AWS Amplify React导入时的样式文件找不到错误
这个错误是因为你使用的aws-amplify-react版本和单独安装的@aws-amplify/ui版本不兼容导致的——早期的aws-amplify-react包本身内置了UI样式,后来Amplify把UI模块拆分出来,但不同版本的目录结构和依赖关系有变化,你的版本组合正好踩了这个坑。下面是具体的解决方案:
方案1:使用与aws-amplify匹配的同版本aws-amplify-react(推荐,适合你的现有版本)
你的aws-amplify是1.1.25,但aws-amplify-react用了2.3.5,版本不对齐是核心问题。同时早期1.x系列的Amplify不需要单独安装@aws-amplify/ui,因为UI样式已经包含在aws-amplify-react里了。
- 先卸载所有相关依赖:
npm uninstall aws-amplify aws-amplify-react aws-amplify-react-native @aws-amplify/auth @aws-amplify/ui
- 安装版本完全对齐的包:
npm install aws-amplify@1.1.25 aws-amplify-react@1.1.25 aws-amplify-react-native@1.1.9
- 删除项目里手动导入
@aws-amplify/ui样式的代码(如果有的话),保持你的原有导入语句即可:
import { ConfirmSignIn, ConfirmSignUp, ForgotPassword, RequireNewPassword, SignIn, SignUp, VerifyContact, withAuthenticator } from 'aws-amplify-react';
方案2:升级到支持独立UI模块的高版本(适合需要自定义更多UI的场景)
如果你想使用独立的@aws-amplify/ui包,需要把Amplify核心包和React包都升级到支持该模块的版本,比如3.x系列:
- 卸载旧依赖:
npm uninstall aws-amplify aws-amplify-react aws-amplify-react-native @aws-amplify/auth @aws-amplify/ui
- 安装兼容的高版本:
npm install aws-amplify@3.3.26 aws-amplify-react@4.2.26 @aws-amplify/ui@1.2.12
- 在项目入口文件(比如
App.js或index.js)手动导入UI样式:
import '@aws-amplify/ui/dist/style.css';
- 保持你的组件导入语句不变即可。
最后一步:清理缓存并重建
不管用哪个方案,都建议执行以下步骤确保没有缓存问题:
- 删除
node_modules文件夹和package-lock.json文件 - 运行
npm cache clean --force - 重新执行
npm install - 重启你的开发服务器
内容的提问来源于stack exchange,提问作者Donato Perconti
相关产品推荐
相关产品推荐

