1
我有一個可以工作的ES2015項目,我想遷移到TypeScript。TypeScript:導入沒有類型定義的ES2015模塊
在我的解決方案我使用ES2015進口導入3-pary模塊(通過NPM安裝)是這樣的:
import {ClassXY} from 'moduleXY'
在我的項目設置打字稿後,打字稿編譯器報告以下錯誤:
error TS2307: Cannot find module 'moduleXY'
我怎樣才能得到在TypeScript中工作的上述ES2015導入語句?
我找比通過typings
安裝相應的.d.ts
聲明以外的解決方案......我們假設模塊moduleXY
是不分配自己的.d.ts
聲明,也沒有聲明中使用,在DefinitelyTyped(或聲明庫已過時)。
我必須爲模塊moduleXY
的類型定義創建存根嗎?我將如何以最小的努力做到這一點?
如果您使用模塊加載器/打包器,這是否會執行任何操作以確保給定模塊實際上被加載? – StriplingWarrior
@StriplingWarrior遺憾的不是,但如果你使用WebPack和ts-loader,你可以使用require而不是import來加載模塊 – Tadwork
這似乎不工作......我得到一個編譯錯誤:''{'expected'。 ..所以我認爲聲明的聲明應該是'declare module'react-redux'{};'...這樣擺脫了最初的編譯錯誤('Can not find module ...')...但是TS仍然無法解決從'moduleXY'導入{ClassXY};'...由此產生的錯誤是現在'模塊「moduleXY」沒有導出成員'ClassXY'' – jbandi