實務上開發網頁應用程式時,有時會需要將自定義的物件掛到 window 物件底下來方便其他頁面作取用或是模組化。不過這些自定義的值,TypeScript 自然是不認得會報錯。這邊筆記下拓展方法。
內容
新增一個自定義的型別檔案,並宣告 global 的 Window Interface 內有什麼自定義的值即可。
1 2 3 4 5 |
declare global { interface Window { __projectName__: string } } |
由於 TypeScript 預設的型別認定行為是「合併」。因此你不需要將既有的 Window 物件內容給完整引入。
此外,在 .tsconfig 的設定檔的 “include”,也要將這個檔案給引入。
參考資料
1. How to extend the window object in TypeScript
按讚加入粉絲團