TypeScript 里 .d.ts 文件的用处
StackOverflow 討論
“d.ts”文件用于為 TypeScript 提供有關用 JavaScript 編寫的 API 的類型信息。這個想法是你正在使用像jQuery 或 underscore 這樣現有的 javascript 庫。 您想使用 TypeScript 來消費 這些 jQuery 庫實現的 API。
您可以編寫僅包含類型注釋的 d.ts 文件,而不是在 TypeScript 中重寫 jquery 或 underscore 或其他任何內容。然后從您的 TypeScript 代碼中,可以在仍然使用純 JavaScript 庫的同時,獲得靜態類型檢查的 TypeScript 優勢。
這要歸功于 TypeScript 的約束,即不允許您在導入語句的末尾添加“.ts”擴展名。 因此,當您引用某個文件時,例如 my-module.js,如果它旁邊有一個 my-module.d.ts,那么 TypeScript 將包含其內容:
src/my-module.jsmy-module.d.tsindex.tsmy-module.js 的內容:
const thing = 42;module.exports = { thing };my-module.d.ts 的內容:
export declare const thing: number;index.ts 的內容:
import { thing } from "./my-module"; // <- no extension// runtime implementation of `thing` is taken from ".js" console.log(thing); // 42// type declaration of `thing` is taken from ".d.ts" type TypeOfThing = typeof thing; // number也就是說,類型定義和運行時實現,TypeScript 可以自動分別從 *.d.ts 和 *.js 中獲取。
當 TypeScript 腳本被編譯時,有一個選項可以生成一個聲明文件(擴展名為 .d.ts),作為編譯后的 JavaScript 中組件的接口。 在此過程中,編譯器剝離所有函數和方法主體,僅保留導出類型的簽名。 然后,當第三方開發人員從 TypeScript 使用它時,生成的聲明文件可用于描述 JavaScript 庫或模塊的導出虛擬 TypeScript 類型。
聲明文件的概念類似于 C/C++ 中頭文件的概念。
可以為現有的 JavaScript 庫手動編寫類型聲明文件,就像為 jQuery 和 Node.js 所做的那樣。
大量流行 JavaScript 庫的聲明文件集合托管在 GitHub 上的絕對類型和類型注冊表中。 提供了一個名為 Typings 的命令行實用程序來幫助從存儲庫中搜索和安裝聲明文件。
總結
以上是生活随笔為你收集整理的TypeScript 里 .d.ts 文件的用处的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求生之路2喷漆怎么自定义?求生之路2喷漆
- 下一篇: GTA5超跑排名2018 GTA5超级跑