是否有辦法將打字稿定義(.d.ts
文件)直接添加到純JavaScript項目中(例如在package.json
中)。我找不到任何文件。如何將打字稿定義文件添加到npm包中?
回答
TypeScript Handbook中有一個頁面爲NPM包添加類型。我會複製和粘貼在這裏:
分型爲NPM套餐
打字稿編譯器通過以下Node.js的模塊解析算法解析節點模塊名稱。 TypeScript還可以加載與npm包捆綁在一起的類型。編譯器將嘗試使用以下規則集來發現模塊「foo」的類型:
嘗試加載位於相應的包文件夾(node_modules/foo /)中的package.json文件。如果存在,請閱讀「類型」字段中描述的類型文件的路徑。例如,在下面的package.json,編譯器將解決在node_modules /富/ lib中/ foo.d.ts的分型
{
"name": "foo",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/foo.js",
"typings": "./lib/foo.d.ts"
}
嘗試加載一個index.d.ts文件命名位於包文件夾(node_modules/foo /)中 - 此文件應包含包的類型。
模塊分辨率的精確算法可以在這裏找到。
你的定義文件應該
- be.d.ts文件
- 寫成外部模塊
- 不包含三斜槓引用
的理由是該類型不應將新的可編譯項目帶入編譯文件集合;否則在編譯期間可能會覆蓋程序包中的實際實現文件。此外,加載類型不應該污染全球範圍通過從相同的庫的不同版本帶來可能衝突的條目。除非你的package.json使用
types
財產
似乎它應該'類型'不''typings'。 –
當我回答這個問題時,這是'typings'。這是[檔案](https://web.archive.org/web/20160412204540/https://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html)。另外,從當前的文檔:'請注意,「typings」字段與「types」同義,並且可以使用.' – rgvassar
感謝您的背後故事。目前所有的例子都使用'types'。如果您還沒有,請考慮更新您的答案。 –
的Visual Studio 2015年將無法識別定義文件
https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
*您必須使用三個斜槓包括在TS參考路徑文件。
/// <reference path="../node_modules/../lib/main.d.ts" />
從您提供的鏈接中獲得:'請注意,「類型」字段與「類型」同義,也可以使用。 – Izhaki
- 1. 如何在fireloop中添加自定義打字稿文件
- 2. 打字稿定義文件
- 3. 將流動定義添加到打字稿庫
- 4. 如何將我的自定義npm包添加到TypeScript定義管理器?
- 5. 將多個打字稿文件合併到一個打字稿定義文件中
- 6. 將打字稿文件添加到PTVS項目
- 7. 將js文件加載到打字稿文件中
- 8. 如何在打字稿中添加innerhtml?
- 9. 如何導入文件打字稿定義文件
- 10. 打字稿 - 如何添加類定義之外的方法
- 11. 如何將文件擴展名.js附加到打字稿?
- 12. 打字稿定義文件 - 的HelloWorld
- 13. VS 2015 node.js,如何在打字稿中使用/調用NPM包?
- 14. 恢復打字稿定義Nuget包
- 15. 如何將自定義字段添加到buddypress配置文件?
- 16. 如何將添加自定義資產添加到.apk文件?
- 17. 如何添加文件與打字稿延伸原型
- 18. 將npm打包的依賴關係添加到svn中
- 19. 如何刪除打字稿定義?
- 20. 如何爲新庫編寫打字稿定義文件?
- 21. 如何在打字稿定義文件「進口」命名空間
- 22. 如何爲此JavaScript庫編寫打字稿定義文件?
- 23. 如何使用absolutelyTyped書寫打字稿定義文件?
- 24. 如何設置VS代碼創建打字稿定義文件
- 25. 如何用打字稿文件導入/導出類型定義
- 26. 如何在打字稿中使用添加打字
- 27. 如何在打字稿中添加外部js庫的打字
- 28. 將keyspairs添加到打字稿中的一組對象中
- 29. 手動添加打字稿分型爲NPM實用
- 30. 將自定義軟件包添加到composer.json文件
有趣的問題:)我會跟隨。 – meorfi