aws-усиление интеграции с Nativescript (угловой) - PullRequest
0 голосов
/ 29 апреля 2018

Я пытаюсь интегрировать амс-усиление с NativeScript , но я не могу заставить его работать успешно.

import { Component, OnInit } from "@angular/core";

require("nativescript-nodeify");

var Amplify = require("aws-amplify");

@Component({
    selector: "Home",
    moduleId: module.id,
    templateUrl: "./home.component.html"
})
export class HomeComponent implements OnInit {


    constructor() {
        // Use the component constructor to inject providers.
        Amplify.configure({
            Auth: {
            // REQUIRED - Amazon Cognito Identity Pool ID
                identityPoolId: 'xxxxx', 
            // REQUIRED - Amazon Cognito Region
                region: 'xxxx', 
            // OPTIONAL - Amazon Cognito User Pool ID
                userPoolId: 'xxxx',
            // OPTIONAL - Amazon Cognito Web Client ID
                userPoolWebClientId: 'xxxxx', 
            }
        });

    }

    ngOnInit(): void {

    }
}

Но я получаю сообщение об ошибке " не определено ".

JS: Ошибка: ошибка (в обещании): ошибка ссылки: навигатор не определено JS: ReferenceError: навигатор не определено JS: at standardBrowserEnv (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/lib/helpers/isURLSameOrigin.js: 11: 39) JS: на объекте. (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/lib/helpers/isURLSameOrigin.js: 60: 5) JS: по требованию (: 1: 266) JS: по объекту. (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/lib/adapters/xhr.js: 7: 23) JS: по требованию (: 1: 266) JS: по getDefaultAdapter (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/lib/defaults.js: 20: 15) JS: на объекте. (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/lib/defaults.js: 29: 12) JS: по требованию (: 1: 266) JS: по объекту. (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/lib/core/Axios.js: 3: 16) JS: по требованию (: 1: 266) JS: по объекту. (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/lib/axios.js: 5: 13) JS: по требованию (: 1: 266) JS: по объекту. (файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/axios/index.js: 1: 78) JS: по требованию (: 1: 266) JS: по объекту. (Файл: ///data/data/org.nativescript.awsamplify/files/app/tns_modules/aws-amplify/lib/API/RestClient.js: 70: 15)

Если у кого-то есть рабочий код, поделитесь.

1 Ответ

0 голосов
/ 29 апреля 2018

Проблема с последней версией aws-усиление .

Изменил его на " aws-усиление": версия "^ 0.2.9 " и все теперь работает нормально:)

Редактировать: рабочий раствор с последней версией Amplify

import * as storage from "nativescript-localstorage";
import { Buffer } from "buffer";
import "nativescript-nodeify";

global["window"] = {};
global["window"]["localStorage"] = storage;
global["window"]["addEventListener"] = args => {
  return args;
};
global["window"]["navigator"] = {};
global["window"]["Buffer"] = Buffer;
global["window"]["setTimeout"] = setTimeout;
global["window"]["clearTimeout"] = clearTimeout;

global["navigator"] = {};

global["navigator"]["product"] = "ReactNative";
import Amplify, { Auth, Storage } from "aws-amplify";
import aws_config from "~/aws-exports";
Amplify.configure(aws_config);
...