2017-03-16 130 views
1

我目前在網上看到的答案看似過時。使用類型定義在TypeScript中導入節點模塊

我安裝了node_modules/leaflet-drawnode_modules/@types/leaflet-draw

這條線的工作原理:

import * as L from 'leaflet';

然而,這行不:

import * as foo from 'leaflet-draw';

我收到此錯誤:

/node_modules/@types/leaflet-draw/index.d.ts' is not a module.

要添加的混亂,這條線的工作原理:

var leafletDraw = require('leaflet-draw');

誰能幫我理解這一點?

回答

1

縱觀源@types/leaflet-draw@types/leaflet,看來@類型/傳單是實際模塊聲明出現:

declare module 'leaflet' { 
    export = L; 
} 

而在@類型/瓣葉戰平,命名空間L只是延長(因此將其所有成員添加到原始leaflet模塊中)。

+0

這種情況下適當的進口聲明是什麼? –

+0

我會用'import *'作爲'from'傳單';'從TypeScript的角度來看。假設傳單和宣傳單設置正確,「L」應具有宣傳單的所有屬性(以及傳單的屬性)。 – y2bd

相關問題