我的脚本无法从 aws-amplify 导入 Authenticator - 这是否意味着它没有正确安装?

My script cannot import Authenticator from aws-amplify - does that mean it did not install correctly?

我最近使用

安装了 aws amplify
npm install -g @aws-amplify/cli@latest

我正在逐字使用来自 aws-amplify 站点的基本脚本:

import { Amplify } from 'aws-amplify';

import { Authenticator } from '@aws-amplify/ui-react';
//import '@aws-amplify/ui-react/styles.css';
import '@aws-amplify/ui/dist/style.css';


import awsExports from '../../aws-exports';
Amplify.configure(awsExports);

export default function App() {
  return (
    <Authenticator>
      {({ signOut, user }) => (
        <main>
          <h1>Hello {user.username}</h1>
          <button onClick={signOut}>Sign out</button>
        </main>
      )}
    </Authenticator>
  );
}

我收到一个错误 模块 '"@aws-amplify/ui-react"' 没有导出成员 'Authenticator'.ts(2305)

我正在使用 aws-amplify 版本 8.5。后端配置正确。我能够导入“withAuthenticator”。这是否意味着它没有正确安装?我卸载并重新安装它,但仍然出现错误。如何从 aws-amplify 模块导入 Authenticator? 谢谢!

听起来您使用的是 @aws-amplify/ui-react 的 v1。您的示例命令会安装最新版本的 CLI,但不会安装 @aws-amplify/ui-react 包。请尝试更新到最新版本 @aws-amplify/ui-react:

npm install @aws-amplify/ui-react@latest

此外,您需要将 CSS 样式导入更改为您注释掉的行:

import '@aws-amplify/ui-react/styles.css';

https://ui.docs.amplify.aws/getting-started/installation