編寫聲明文件

一般來(lái)講,你組織聲明文件的方式取決于庫(kù)是如何被使用的。在JavaScript中一個(gè)庫(kù)有很多使用方式,這就需要你書寫聲明文件去匹配它們。
比如使用 declare var 聲明變量。如果變量是只讀的,那么可以使用 declare const。你還可以使用 declare let 如果變量擁有塊級(jí)作用域。
declare var foo: number;現(xiàn)在我們已經(jīng)按照指南里的步驟寫好一個(gè)聲明文件,是時(shí)候把它發(fā)布到 npm 了。有兩種主要方式用來(lái)發(fā)布聲明文件到 npm:
1、與你的 npm 包捆綁在一起,或
2、發(fā)布到 npm上的 @types organization。
推薦第一種方式。這樣的話,你的聲明文件與 JavaScript 總是在一起發(fā)布。
如果你的包有一個(gè)主 .js 文件,你還是需要在 package.json 里指定主聲明文件。設(shè)置 types 屬性指向捆綁在一起的聲明文件。比如:
{"name": "awesome","author": "Vandelay Industries","version": "1.0.0","main": "./lib/main.js","types": "./lib/main.d.ts"}
發(fā)布到 npm 上的 @types,@types 下面的包是從 DefinitelyTyped 里自動(dòng)發(fā)布的,通過(guò) types-publisher 工具。如果想讓你的包發(fā)布為 @types 包,提交一個(gè) pull request 到https://github.com/DefinitelyTyped/DefinitelyTyped 公共組織機(jī)構(gòu)。
當(dāng)編寫了聲明文件之后,安裝的 npm 包會(huì)有 vscode 代碼提示,當(dāng)編寫代碼的時(shí)候會(huì)出現(xiàn)對(duì)應(yīng)的 API 語(yǔ)法提示內(nèi)容。
