Dan*_*anf 5 amazon-web-services reactjs aws-amplify aws-amplify-cli
我正在尝试将登录功能添加到我使用 Amplify 和 AWS Cognito 构建的 React 应用程序中,但是当我在 Login.js 文件中添加以下行时:
Import {Auth} from "aws-amplify-react";
Run Code Online (Sandbox Code Playgroud)
并尝试编译,我收到以下错误:
Failed to compile.
./node_modules/aws-amplify-react/lib-esm/Analytics/trackLifecycle.js
Module not found: Can't resolve '@aws-amplify/analytics' in 'my_react_path/node_modules/aws-amplify-react/lib-esm/Analytics'
Run Code Online (Sandbox Code Playgroud)
我尝试使用自制软件和 npm 安装 Amplify,但我无法解决这个问题,有什么提示吗?
编辑:
最初我有:
Import {Auth} from "aws-amplify";
Run Code Online (Sandbox Code Playgroud)
但是编译器无法解析aws-amplify,只能在node_modules文件夹中找到aws-amplify-react,所以我改了。
但是,在第 39 行的“node_modules/aws-amplify-react/lib-esm/Analytics/trackLifecycle.js”中:
import Analytics from '@aws-amplify/analytics';
Run Code Online (Sandbox Code Playgroud)
问题是它找不到 aws-amplify ......我在安装时弄得一团糟吗?
我收到类似的错误
编译失败。
./node_modules/aws-amplify-react/lib-esm/Analytics/trackLifecycle.js 找不到模块:无法解析“/Users/myuser/myproject/node_modules/aws-amplify-”中的“@aws-amplify/analytics”反应/lib-esm/分析'
当遵循放大教程时。
我发现的解决方法是执行:
npm i -S @aws-amplify/analytics @aws-amplify/interactions @aws-amplify/storage @aws-amplify/ui @aws-amplify/xr aws-amplify
显然,我很想知道如何避免所有这些额外的库。
小智 3
假设您现阶段不担心包大小,那么最简单的操作可能是完全删除您的node_modules,然后:
import Amplify, { Auth } from 'aws-amplify'
Run Code Online (Sandbox Code Playgroud)
如果您计划使用 OOTB UI 组件,则只需安装/导入 aws-amplify-react。如果您正在制作自己的用于登录的 UI 组件,则现阶段不需要该包。