我试图将登录功能添加到正在使用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 ...在安装时我是否一团糟?
答案 0 :(得分:0)
假设您现在不担心捆绑包的大小,那么最简单的操作可能就是完全删除node_modules,然后:
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);