簡體   English   中英

TypeScript:導入沒有類型定義的ES2015模塊

[英]TypeScript: import an ES2015 module without type definitions

我有一個正在運行的ES2015項目,我想將該項目遷移到TypeScript。

在我的解決方案中,我使用ES2015導入來導入3rd-pary模塊(通過npm安裝),如下所示:

import {ClassXY} from 'moduleXY'

在我的項目中設置TypeScript后,TypeScript編譯器報告以下錯誤:

error TS2307: Cannot find module 'moduleXY'

如何在TypeScript中使用上述ES2015 import語句?

我找比安裝相應的其他的解決方案.d.ts通過聲明typings ......讓我們假設模塊moduleXY是不分配自己的圖書館.d.ts聲明,也沒有對DefinitelyTyped可用的聲明(或聲明已過時)。

我是否必須為模塊moduleXY的類型定義創建一個存根? 我將如何以最小的努力做到這一點?

如果沒有模塊的類型,則可以像常規commonjs模塊一樣require

declare require:any;

const moduleXY:{
    classXY:any
} = require("moduleXY");

在.ts文件中,並確保該文件包含在Typescript編譯器中。 您不需要完全聲明模塊,在開始添加類型的地方仍然會受益。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM