TypeScript - Type 那點事
隨便記
將類型定義放在 .types.ts 或 .d.ts 檔案中,此兩者副檔名有何差異?
在 TypeScript 開發中,
.types.ts和.d.ts檔案都用於定義類型,但它們的用途和特性有所不同:.types.ts用途:
通常用於在 TypeScript 專案內部,定義專案中使用的類型。
這些檔案包含 TypeScript 程式碼,可以包含類型別名、介面、列舉等。
.types.ts檔案會被 TypeScript 編譯器編譯成 JavaScript 檔案(.js),因此它們可以包含可執行的程式碼,儘管通常只包含類型定義。
特性:
可以包含任何 TypeScript 程式碼,包括類型定義和實作。
在編譯時會產生對應的 JavaScript 檔案。
適合用於專案內部模組化的類型定義。
.d.ts
用途:
主要用於提供類型宣告,讓 TypeScript 編譯器了解 JavaScript 程式碼的類型資訊。
通常用於:
為沒有 TypeScript 類型定義的 JavaScript 函式庫提供類型宣告。
宣告全域變數或模組的類型。
為現有的 JavaScript 程式碼提供類型資訊,以便在 TypeScript 專案中使用。
特性:
只包含類型宣告,不包含任何可執行的程式碼。
不會被編譯成 JavaScript 檔案,僅用於提供類型資訊。
通常用於描述外部函式庫或現有 JavaScript 程式碼的類型。
通常使用declare 關鍵字來告知編譯器,這些變數,函式等等,是已經在其他地方宣告過的。
總結:
.types.ts:用於 TypeScript 專案內部的類型定義,會被編譯。.d.ts:用於提供外部 JavaScript 程式碼的類型宣告,不會被編譯。
簡單來說,.types.ts 檔案用於定義 TypeScript 程式碼的類型,而 .d.ts 檔案用於為非 TypeScript 程式碼提供類型資訊。
