成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Node.js 官方發布新工具,助力穩定 TypeScript 支持!

開發 前端
Node.js 和 TypeScript 的整合已經邁出關鍵一步。Amaro 讓“直接用 Node 跑 TS”變得可行。未來開發時,.js? 和 .ts 之間的區別會越來越小,開發方式會更加統一、高效,也更安全。?

在現代前端工程體系中,TypeScript 已成為開發者提高代碼可維護性、可讀性和團隊協作效率的重要利器。然而,長期以來,Node.js 對 TypeScript 的支持卻遠遠跟不上,這種不對稱的現狀給廣大開發者帶來了諸多痛點。

6 月 10 日,Node.js 官方發布了 Amaro 1.0,這是 Node.js 官方的 TypeScript “類型剝除加載器”,可以讓開發者直接在 Node.js 中運行 .ts 文件,不需要先轉成 .js。

Node.js 對 TS 的支持問題

雖然 TypeScript 的使用越來越普遍,很多大項目已經默認使用,但在 Node.js 中直接運行 .ts 文件一直不容易:

  • 缺乏原生支持:開發者不得不依賴如 ts-node、tsx 等工具進行運行時編譯。
  • 啟動慢、調試復雜:這些工具通常帶有一定的啟動成本,并增加了調試配置的復雜度。
  • 生態割裂:當 Node 核心本身不支持 TS 時,整個開發工具鏈難以形成統一的開發體驗。

而與此同時,TypeScript 版本快速演進,語言能力不斷增強,與 Node.js 的支持進度產生嚴重錯位,成為社區長期關注的“短板”。

Node.js 開始支持 TS的過程

Node.js 團隊逐步意識到原生支持 TypeScript 的必要性,從 2024 年起開始改進:

  • 2024 年 6 月(Node v22.6):引入 --experimental-strip-types標志,首次實現對 TypeScript 類型注釋的移除,可直接運行簡單 TS 文件。
  • 2024 年 7 月(Node v22.7):加入 --experimental-transform-types標志,開始支持如 enum、namespace 等需要代碼轉換的語法。
  • 2025 年 3 月(Node v23.6):默認開啟類型剝除,.ts 文件可以直接運行,不用加任何參數。

Amaro 1.0:打通 TS 支持最后一公里

6 月 10 日,Node.js 推出 Amaro 1.0,這意味著 TypeScript 的原生支持終于要穩定了!

Amaro 是用 Rust 寫的,并通過 WebAssembly 在 Node.js 中運行的 類型剝除加載器。它的主要功能有:

  • 極速性能:基于 SWC 引擎,運行快速,占用資源小。
  • 有兩種模式:

     a.strip-types:只移除類型,不轉換語法(適用于常見場景)

     b.transform-types:轉換復雜語法,如枚舉、命名空間等。

  • 支持依賴剝除:可用于剝除 node_modules 中的 .ts 文件,適合 monorepo 項目。
  • 版本獨立更新:Amaro 作為單獨模塊存在,可獨立于 Node.js 升級。

類型剝離:在轉譯過程中從 TypeScript 代碼中刪除類型注釋,使其能夠直接在 JavaScript 環境中運行。

Node.js vs Bun vs Deno

在現代 JavaScript 運行時中,Bun 與 Deno 都提供了對 TypeScript 的原生支持,但它們與 Node.js + Amaro 的實現方式有 明顯差異:

  • Node.js:

     a.支持方式:通過 Amaro 實現“類型剝離”,只移除 .ts 文件中的類型注釋,不執行完整 TypeScript 編譯。

     b.局限:僅支持 TS 的“語法超集”部分,不支持完整的 TS 類型檢查或語義分析,需要搭配 IDE 或構建工具單獨做類型檢查。

  • Bun:

     a.支持方式:使用自己的 超快速 TS 編譯器,內置 TypeScript 支持,可以直接運行 .ts 和 .tsx。

     b.優勢:無需配置直接支持 TS,支持 TS 語言大部分語法和類型語義,效果近似于 tsc。

  • Deno:

     a.支持方式:直接以 TypeScript 作為一等公民語言,從開始就支持 TS。內部使用 swc 做 TS 編譯,提供強類型校驗。

     b.優勢:.ts、.tsx 無需配置可直接運行,支持類型檢查與運行分離,靈活性好。

Node.js 選擇“類型剝離”這種方式,是為了保留現有生態的兼容性,代價更小;Bun 和 Deno 是從底層支持 TS,功能更全。對于傳統 Node 項目,Amaro 是更穩妥的方案。如果想要更先進的開發體驗,Bun 和 Deno 可能更適合。

未來展望

Node.js 和 TypeScript 的整合已經邁出關鍵一步。Amaro 讓“直接用 Node 跑 TS”變得可行。未來開發時,.js 和 .ts 之間的區別會越來越小,開發方式會更加統一、高效,也更安全。

責任編輯:武曉燕 來源: 前端充電寶
相關推薦

2011-12-05 09:39:57

Node.js

2012-07-12 10:15:15

Node.js

2024-08-28 08:33:15

2023-11-16 14:56:13

2015-06-23 15:27:53

HproseNode.js

2024-07-30 15:02:44

2011-11-08 10:53:02

Node.js

2013-11-01 09:34:56

Node.js技術

2015-03-10 10:59:18

Node.js開發指南基礎介紹

2011-05-24 15:09:11

NodeJS

2023-04-19 08:31:57

Node.jsLTS版本

2013-03-08 09:54:00

BAENode.js百度云

2023-08-29 09:43:21

Node.js.env

2016-04-27 12:47:27

Node.js6.0版本

2019-05-05 11:47:09

TypeScript開發Node.js

2019-07-09 14:50:15

Node.js前端工具

2014-02-19 16:28:53

Node.jsWeb工具

2021-01-18 09:43:58

Node.js前端服務端

2011-09-08 13:46:14

node.js

2011-11-01 10:30:36

Node.js
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人性生交大片 | 国产激情视频网 | 亚洲欧美激情精品一区二区 | 九九热在线免费观看 | 亚洲xx在线 | 一级a毛片| 玖玖色在线视频 | 国产精品久久久久久久久 | 久久久www成人免费精品 | 8x国产精品视频一区二区 | 男人的天堂中文字幕 | 亚洲一区自拍 | 欧美福利| 亚洲精品久久久一区二区三区 | 免费看黄色片 | www.国产日本| 国产在线一区观看 | 日本粉嫩一区二区三区视频 | 久久久久久久av | 国产一区二区三区四区五区加勒比 | 激情黄色在线观看 | 日本精品一区二区三区在线观看视频 | 国产精品亚洲精品日韩已方 | 国产精品久久久久久一区二区三区 | 国产精品久久久久av | 午夜影院在线观看 | 久久久视频在线 | 国产激情一区二区三区 | 中文字幕在线观看视频一区 | av看片网| 国产国产精品 | 成年人视频免费在线观看 | 这里有精品 | 亚洲精品成人av久久 | 久久成人18免费网站 | 999国产视频 | 久久国产精彩视频 | 91精品在线播放 | 国产黄色一级电影 | 国产在线观看一区二区 | 国产视频h|