You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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中,而是拆分到独立子包。
  • 正确操作步骤:
    1. 安装@aws-amplify/auth子包(若未安装):
      npm install @aws-amplify/auth
      
    2. 修改导入语句:
      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对象即可。

内容的提问来源于stack exchange,提问作者Ali CAKIL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 22:54:50