2017-09-17 1 views
2

Ich konvertiere das auslaufende Projekt in Typoskript. Das Projekt wird mit einem Paket ng-idle und es hat @types Paket mit dem Namen angular-idle und die Datei @types/angular-idle/index.d.ts enthältImportiere Typ des Paketes mit anderem Namen

declare module 'angular' { 
    export namespace idle { 
     .... 

Wie importiere ich dieses Paket

import * as ngIdle from 'angular-idle' 

oder

import * as ngIdle from 'ng-idle' 

Antwort

1

Es sind ein paar Möglichkeiten, dies zu tun

import {idle} from 'angular' 
const blah = idle.BLAH 

Sie können sogar den Namespace auf Import umbenennen

import {idle as ng_idle} from 'angular' 
const blah = ng_idle.BLAH 

Wenn Sie bereits Winkel importieren

import * as angular from 'angular' 
import idle = angular.idle 
const blah = idle.BLAH 

Name ist

+0

aber das Paket (oder angular.idle direkt verwenden) 'ng-idle' und 'angular-idle' und nicht' eckig', so hat der Paketname nichts mit dem in Anführungszeichen angegebenen Namen zu tun, während der Import erfolgt ?? –

+0

Wenn ich 'angular-idle' direkt benutze, gibt das webpack den Fehler –

+0

Es spielt keine Rolle. Was für den Compiler wichtig ist, ist 1) dass es ein Modul namens "angular" in node_modules gibt, 2) dass der Name 'idle' in die Definitionsdateien des externen Moduls" angular "exportiert wird. Verwenden Sie die obigen Importe und überprüfen Sie [dieses Beispiel] (https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/angular-idle/angular-idle-tests.ts) für die Verwendung –

Verwandte Themen