2017-12-11 10 views
2

Wenn ich richtig bin, DefinelyTyped hat TypeScript-Definitionen für mehrere Bibliotheken. In meinem Fall wollte ich die verfügbaren Google Charts-Definitionen here verwenden. Ich habe sieWie wird DefinitelyTyped in Angular5 verwendet?

npm install --save-dev @types/node 
npm install --save-dev @types/google-apps-script 

mit installiert, aber ich weiß nicht, wie sie zu meinem Projekt zu importieren. Ich habe versucht,

import { Google } from '@types/google-apps-script'; 

Aber Visual Studio-Code wirft einen Fehler mit, dass es nicht ein Modul ist und meine declare const google ist nach wie vor von :any, die ich vermeiden will.

Jede Hilfe oder Hinweis wäre willkommen.

Antwort

0

Um Google Charts in meinem Angular 5-Projekt zu verwenden, habe ich diese DefinitelyTyped-Typen verwendet, die nur für die Google Charts-JavaScript-Bibliothek verwendet werden.

@types/google.visualization 

https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/google.visualization

Hier ist, wie ich die Typen in eine @Injectable Service-Klasse importiert. Diese Anweisung verursachte keinen Fehler darüber, dass es kein Modul war, wie wenn ich versuchte, mit * zu importieren.

import { } from 'google.visualization'; 

Im Konstruktor ist, wo man nur einmal die Charts Bibliothek laden und dann Diagrammfunktionen erstellen mit Daten und Konfigurationsoptionen an die Callback (setOnLoadCallback) zu übergeben.

google.charts.load('current', {'packages':['corechart']}); 

Ich habe ein Skript Element index.html die ‚https://www.gstatic.com/charts/loader.js‘ zu laden, aber vielleicht gibt es einen besseren Weg, externe Bibliotheken wie diese zu schließen.

Verwandte Themen