做者:Dr. Axel Rauschmayer翻譯:瘋狂的技術宅javascript
原文:https://2ality.com/2020/04/mi...html
未經容許嚴禁轉載前端
本文概述了將代碼庫從 JavaScript 遷移到 TypeScript 的策略。還提到了須要進一步閱讀的材料。java
這是用於遷移到TypeScript的三種策略:程序員
更多信息:面試
若是咱們用編譯器選項 --allowJs
,則 TypeScript 編譯器支持 JavaScript 和 TypeScript 文件的混合:typescript
首先,只有 JavaScript 文件。而後咱們一個接一個地將文件切換到 TypeScript。在這樣作的同時,咱們的代碼庫也在不斷的被編譯。json
這是 tsconfig.json
的樣子:segmentfault
{ "compilerOptions": { ··· "allowJs": true } }
更多信息:服務器
這個方法的工做方式以下:
--noEmit
)實用。.js
文件切換到 .ts
文件,由於整個代碼庫已經徹底有了靜態類型。如今咱們甚至能夠生成類型文件(文件擴展名爲 .d.ts
)。如下是經過 JSDoc 註釋爲普通 JavaScript 指定靜態類型的方式:
/** * @param {number} x - A number param. * @param {number} y - A number param. * @returns {number} This is the result */ function add(x, y) { return x + y; } /** @typedef {{ prop1: string, prop2: string, prop3?: number }} SpecialType */ /** @typedef {(data: string, index?: number) => boolean} Predicate */
更多信息:
在大型 JavaScript 項目中,不管咱們選擇哪一種方法,切換到 TypeScript 均可能會產生大量錯誤。能夠選擇快照測試 TypeScript 錯誤:
更多信息:
咱們快速學習了各類遷移到 TypeScript 的策略。另外還有兩個提示:
而後爲下一步制定清晰的計劃。須要與你的團隊交流優先順序:
當你把代碼庫從 JavaScript 遷移到 TypeScript 時都經歷些什麼?請在評論中告訴你們!