2016-06-30 4 views
0

Ich entwickle eine Angular 2/Ionic2 Anwendung, die einen benutzerdefinierten Client api von Amazon AWS erzeugt verwendet.Wie importiere ich ein Amazon AWS Client Javascript in meine Ionic 2/Angular 2 App?

Diese API besteht aus einem Javascript und seinen Abhängigkeiten, die andere Javascripts sind.

Normalerweise würde ich es nur in ein Skript-Tag innerhalb der HTML, aber ich verwende Typoskript.

Im Haupt Javascript ein Objekt gibt es declarated auf diese Weise:

var apigClientFactory = {}; 
apigClientFactory.newClient = function (config) { 
    var apigClient = { }; 
    if(config === undefined) { 
     config = { 
      accessKey: '', 
      secretKey: '', 
      sessionToken: '', 
      region: '', 
      apiKey: undefined, 
      defaultContentType: 'application/json', 
      defaultAcceptType: 'application/json' 
     }; 
    } 
... 

In einem Service, den ich die api auf diese Weise aufrufen müssen:

var apigClient = apigClientFactory.newClient(); 

    var params = { 
     limit: 5 
    }; 


    var body = { 

    } 

    var additionalParams = { 

    } 

    var headers = { 

    } 



    var queryParams = { 

    } 

    apigClient.cadastroOptions (params, body, additionalParams).then(function(result){ 
     var json = JSON.parse(result.data); 

     console.log('Result', json); 

    }).catch('Sucesso', function(json){ 
     console.log('Falha: ', json) 
    }); 

Es ist kein Knotenmodul. Es ist eine API in einem Zip heruntergeladen.

Wie kann ich dies in meine Anwendung importieren?

+0

Ich vermute, Sie SystemJS verwenden, um Ihre Module zu laden. Vielleicht sehen Sie, wie Sie eine js-Datei mit System js laden können? :) – toskv

+0

Ich habe es über "ionic start ionic2-tutorial-github blank - v2 --ts" installiert. Dieser Befehl installiert ein Startpaket und scheint nicht auf SystemJS zu basieren. Es scheint auf Gulp basiert zu sein. – Natanael

Antwort

1

Sie müssen die aws-sdk module from npm und es ist Typings installieren.

  1. npm install aws-sdk --save
  2. typings install dt~aws-sdk --save --global

Eigentlich die lib in Ihrem Projekt können variieren, aber Winkel-cli Leitfaden auf importing 3rd party libs könnte hilfreich sein (speziell der letzte Schritt eines Abschnitts gegeben) zeigen, wie Das ist erledigt.

+0

Ich denke, das OP bedeutete benutzerdefinierte SDK für das API-Gateway. Es scheint, als ob der einzige Weg, um es mit Angular2/Typescript zu verwenden, derzeit darin besteht, Typdefinitionen von Hand zu erstellen. Oder generieren Sie ein alternatives SDK mit swagger-codegen, obwohl das nur für öffentliche APIs funktionieren würde. – dinvlad

+0

@dinvlad Ihr Kommentar scheint besser als Antwort geeignet, da er einen besseren Einblick in die Lösung bietet als meine. – filoxo

1

ich dieses Problem vor kurzem hatte, die Script-Tags in Ihrer index.html hinzufügen, dann in Ihrer Komponente hinzufügen, die folgenden:

declare var apigClientFactory: any; 

@Component({ 
selector: '<selector>', 
templateUrl: './<html>', 
styleUrls: ['<css>'] 
}) 

export class <your class> { 
    constructor(){} 
} 

Beachten Sie, dass, wenn Sie webpack verwenden aber das wird nicht hinzugefügt werden die Abhängigkeiten.

Verwandte Themen