Angular中导入aws-amplify的Auth失败问题求助
问题翻译
我正在使用Amplify Angular包开发集成AWS Cognito认证的Angular应用,需要重写方法获取登录回调。已安装文档指定的包:
"@aws-amplify/ui-angular": "^5.0.12" "aws-amplify": "^6.0.21"
尝试执行import { Amplify, Auth } from 'aws-amplify';时,出现错误:Module "aws-amplify" has no exported member 'Auth',但Amplify官方Auth文档中有该用法示例,请问遗漏了什么?
问题原因与解决方法
- 核心原因:AWS Amplify v6采用模块化架构,不再将
Auth等核心服务导出在根包aws-amplify中,而是拆分到独立子包。 - 正确操作步骤:
- 安装
@aws-amplify/auth子包(若未安装):npm install @aws-amplify/auth - 修改导入语句:
import { Amplify } from 'aws-amplify'; import { Auth } from '@aws-amplify/auth';
- 安装
- 额外说明:
- 若使用Amplify UI Angular的Authenticator组件自定义登录回调,可直接通过组件的
signInSuccess输出事件实现,无需手动导入Auth。示例代码:<amplify-authenticator (signInSuccess)="handleSignInSuccess($event)"> <!-- 你的应用内容 --> </amplify-authenticator>handleSignInSuccess(event: any) { // 处理登录成功逻辑,比如获取用户信息 console.log('登录成功', event); } - 若需调用
Auth的其他方法(如currentUserPoolUser),直接使用从@aws-amplify/auth导入的Auth对象即可。
- 若使用Amplify UI Angular的Authenticator组件自定义登录回调,可直接通过组件的
内容的提问来源于stack exchange,提问作者Ali CAKIL
相关产品推荐
相关产品推荐

