Node.js支持原生運行TypeScript——自動將TS代碼轉譯爲JS代碼

Node.js 合併了爲 TypeScript 添加實驗性支持的 PR。

根據 PR 的描述,開發者只需在 Node.js 中配置實驗性 flag--experimental-strip-types就可以執行 TypeScript 文件。

Node.js 會將 TypeScript 代碼自動轉譯爲 JavaScript 代碼。在轉譯過程中,不會執行類型檢查,類型會被丟棄 ——Node.js 團隊稱之爲"type stripping"(類型剝離)。

類型剝離意味着刪除所有types,並轉換爲 JavaScript 模塊中的輸入。

比如下面的 JavaScript 代碼

const foo: string = "foo";

會轉譯爲:

const foo = "foo";

此外,該實驗性功能目前存在以下限制:

無法對枚舉、命名空間等類型進行轉換

沒有爲 .ts 文件添加 .js 擴展

無法在 node_modules 中運行 TS

Node.js 團隊介紹了提供該功能的動機:“讓用戶能夠執行 TypeScript 文件對於推動生態系統向前發展至關重要。我們必須承認用戶希望在不安裝外部依賴項或加載程序的情況下運行node foo.ts。”

詳細路線圖查看:https://github.com/nodejs/loaders/issues/217

Reference

https://github.com/nodejs/node/pull/53725