Работает ли aws amplify с NextJS?

Я просто пытаюсь запустить базовый привет, мир с NextJS и aws-amplify, но кажется, что в тот момент, когда я npm устанавливаю две библиотеки

aws-amplify и aws-amplify-реагировать

Я получаю сообщение «отсутствует модуль реакции», и окно не определено.

import React from 'react'
import Amplify from 'aws-amplify';

Amplify.configure({
    Auth: {
        // REQUIRED - Amazon Cognito Identity Pool ID
        identityPoolId: 'XX-XXXX-X:XXXXXXXX-XXXX-1234-abcd-1234567890ab',
        // REQUIRED - Amazon Cognito Region
        region: 'XX-XXXX-X',
        // OPTIONAL - Amazon Cognito User Pool ID
        userPoolId: 'XX-XXXX-X_abcd1234',
        // OPTIONAL - Amazon Cognito Web Client ID
        userPoolWebClientId: 'XX-XXXX-X_abcd1234',
    }
});

export default class extends React.Component {
    static async getInitialProps({ req }) {
        const userAgent = req ? req.headers['user-agent'] : navigator.userAgent
        return { userAgent }
    }

    render() {
        return (
            <div>
              Hello World
              <style jsx>{`

            `}</style>
            </div>
        )
    }
}

person cocoPuffs    schedule 29.03.2018    source источник


Ответы (2)


Вам нужно сделать какой-то полифилл, чтобы избежать этой ошибки window is not defined. Также, возможно, вам нужно проверить папку node_modules, чтобы убедиться, что react правильно установлен.

Пример полифилла: ```

(<any>global).window = (<any>global).window || {};
(<any>global).localStorage = (<any>global).localStorage || {
    store: {},
    getItem(key){
        if (this.store[key]) {
            return this.store[key];
        }
        return null;
    },
    setItem(key, value){
        this.store[key] = value;
    },
    removeItem(key){ delete this.store[key]; }
};

```

person powerful23    schedule 04.04.2018

Попробуй это. Установите tslib, а затем проверьте

npm установить tslib

person Ganesha Krishnappa    schedule 13.04.2020
comment
Чтобы сделать этот ответ более полезным для читателей этого вопроса, рассмотрите возможность добавления описания, чтобы объяснить, что вы делаете и почему вы это делаете. - person Chris Albert; 13.04.2020