給JS包寫TypeScript用的類型申明文件


TS (TypeScript)區別於JS (JavaScript)一個最大的不同是TS增加了類型。當一些TS代碼要使用JS包的時候,最好這些JS包都有類型介紹,比如這個變量是什么類型,那個函數參數的什么類型,返回什么類型參數等等,這個Type Declaration File有點像是C++的頭文件,定義了JS包的接口信息,這個文件的后綴是.d.ts

如果讓我們從頭手寫一個JS包的.d.ts文件會比較痛苦,因為JS包本身就寫得很亂,有定義了很多對象,有時候要理清他們之間的關系就是頭疼的事情,特別是如果JS包很大的話,那基本上很花時間了。

那么有兩個解決方案,在npm包管理中,有一類@types/package的包,就是別人已經寫好了的對應package的.d.ts文件。我們只用使用npm install --save @types/package就行了。
這個網站能搜到@types包含了哪些JS的包,一些常用的基本都有
https://microsoft.github.io/TypeSearch/
如果這上面沒有,一些比較冷門的JS包怎么辦呢?
那就得自己寫,自己寫可以參考TS官網關於怎么寫的說明文檔
https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html
另外我發現一個很好的工具dts-gen,
https://github.com/Microsoft/dts-gen
根據它的說明,安裝好了之后,它會針對目標JS包自動生成一個最基本款的.d.ts文件,幫你理清目標JS包的結構,自己在對於這個文件做進一步的細化和修改。
這個特別好,但是有時候對於一些特別復雜的JS包,它會拋出異常,目前看是bug了,總之比沒有強很多


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM