AWS Amplify & React - 找不到模块:无法解析“@aws-amplify/analytics”

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 ......我在安装时弄得一团糟吗?

cyr*_*yrf 5

我收到类似的错误

编译失败。

./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,然后:

  1. npm 我 aws-amplify
  2. 像这样导入:
import Amplify, { Auth } from 'aws-amplify'
Run Code Online (Sandbox Code Playgroud)

如果您计划使用 OOTB UI 组件,则只需安装/导入 aws-amplify-react。如果您正在制作自己的用于登录的 UI 组件,则现阶段不需要该包。