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

时间:2019-11-12 12:01:43

标签: reactjs amazon-web-services aws-amplify aws-amplify-cli

我试图将登录功能添加到正在使用Amplify和AWS Cognito构建的React应用程序中,但是当我在Login.js文件中添加以下行时:

Import {Auth} from "aws-amplify-react";

尝试编译,出现以下错误:

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'

我尝试通过自制软件和npm安装Amplify,但是我无法解决这个问题,有任何提示吗?

编辑:

最初我有:

Import {Auth} from "aws-amplify";

但是编译器无法解析aws-amplify,我只能在node_modules文件夹中找到aws-amplify-react,所以我进行了更改。

但是,在第39行的“ node_modules / aws-amplify-react / lib-esm / Analytics / trackLifecycle.js”中:

import Analytics from '@aws-amplify/analytics';

问题是它找不到aws-amplify ...在安装时我是否一团糟?

3 个答案:

答案 0 :(得分:0)

假设您现在不担心捆绑包的大小,那么最简单的操作可能就是完全删除node_modules,然后:

  1. npm我aws-放大
  2. 像这样导入:
import Amplify, { Auth } from 'aws-amplify'

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

答案 1 :(得分:0)

我遇到类似的错误

  

无法编译。

     

./ node_modules / aws-amplify-react / lib-esm / Analytics / trackLifecycle.js   找不到模块:无法解析“ / Users / myuser / myproject / node_modules / aws-amplify-react / lib-esm / Analytics”中的“ @ aws-amplify / analytics”

遵循Amplify tutorial时。

我找到的解决方法是执行:

  

npm i -S @ aws-amplify / analytics @ aws-amplify / interactions @ aws-amplify / storage @ aws-amplify / ui @ aws-amplify / xr aws-amplify

很显然,我很想知道如何避免所有这些额外的库。

答案 2 :(得分:0)

在尝试添加放大(旧的package.json和node_modules)之前,我会恢复到以前的版本

遵循此演练:https://docs.amplify.aws/start/getting-started/installation/q/integration/react-native

进入“添加身份验证”步骤时,请跳过它,直接转到“下一步”->“身份验证”,然后继续操作,直到:

import Amplify, {Auth} from 'aws-amplify';
import config from './aws-exports';
Amplify.configure(config);