2017-09-17 83 views
2

我正在將退出的項目轉換爲打字稿。該項目使用包ng-idle,它有@types包名稱angular-idle和文件@types/angular-idle/index.d.ts包含不同名稱的包的進口類型

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

如何導入這個包

import * as ngIdle from 'angular-idle' 

import * as ngIdle from 'ng-idle' 

回答

1

有有幾種方法可以做到這一點

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

你甚至可以重命名導入

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

命名空間如果你已經導入角

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

(或使用angular.idle直接)

+0

但包名是'NG-idle'和'angular-idle',而不是'angular',所以包名與導入時指定的名稱無關 –

+0

如果我直接使用'angular-idle',webpack會給出錯誤 –

+0

這沒關係。對編譯器來說重要的是1)node_modules中有一個名爲「angular」的模塊,2)在外部模塊「angular」的定義文件中導出名稱爲「idle」的名稱。使用上面的導入並檢查[這個例子](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/angular-idle/angular-idle-tests.ts)的使用 –

相關問題