我已經爲npm包react-sortable-tree
寫了類型定義。我無法確定我應該如何使用它。這是我的嘗試。如何使用npm模塊的自定義類型定義?
我給定義文件react-sortable-tree/index.d.ts
命名(按照Typescript documentation給出的說明),並將文件名添加到我的tsconfig.json
。 Typescript編譯器(版本2.2.1)找不到模塊的定義。我試過module resolution methodsClassic
和Node
沒有成功。
將文件重命名爲react-sortable-tree.d.ts
後,編譯器使用分辨率方法Classic
識別文件。但是,其他模塊隨npm包中包含的類型定義文件一起提供(例如,redux
),編譯器無法找到這些包的定義。
當使用解析方法Node
時,編譯器查找所有包的類型定義,除了我已定義的包之外。對於react-sortable-tree
包,編譯器將解析包附帶的實際JavaScript文件的路徑並忽略我的定義。因此,不會進行類型檢查。
我該如何編寫我的定義,我在哪裏放置它,以及我應該指定哪些編譯器選項,以便該編譯器考慮我的類型定義?
看完後[文檔](https://www.typescriptlang.org/docs/handbook/module-resolution.html)進一步,我意識到我可以創建一個名爲'node_modules'的目錄,將我的定義放在那裏,讓編譯器回覆解決它。我嘗試過,它的工作原理。是否可以有一個名爲'node_modules'的目錄不由'npm'管理? –
不應該需要創建自己的node_modules文件夾否,並且Id建議您不要使用它,以防萬一以後使用node_modules。 – Flion