自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

新消息:Node.js 終于內(nèi)置 TypeScript 支持

開發(fā) 前端
現(xiàn)在你可以在 Node.js 中直接使用 TypeScript 類型了??磥砦铱梢园?Typescript 和 Ts-node 扔進(jìn)垃圾桶了。

令人興奮的消息!Node.js 終于迎來了原生的 TypeScript 支持!

是的,現(xiàn)在你可以在 Node.js 中直接使用 TypeScript 類型了。

看來我可以把 typescript 和 ts-node 扔進(jìn)垃圾桶了。

? 在此之前:

Node.js 只支持 JavaScript 文件。

像下面這樣的代碼根本無法運(yùn)行:

嘗試運(yùn)行時(shí),你會(huì)得到一個(gè)令人不悅的錯(cuò)誤提示:

我們以前的最佳選擇是安裝 TypeScript 并使用 tsc 進(jìn)行編譯。

數(shù)百萬開發(fā)者認(rèn)為這已經(jīng)是一個(gè)不錯(cuò)的選擇:

但這很麻煩——每次都要安裝相同的舊包,并反復(fù)輸入相同的命令。

額外的編譯步驟、處理 TypeScript 配置等問題都很令人沮喪,特別是當(dāng)我們只是想做一些測(cè)試時(shí)。

正因如此,ts-node 出現(xiàn)了,試圖解決這些問題——但它仍然不夠完美。

我們可以直接運(yùn)行 TypeScript 文件了:

甚至可以像使用 node 命令一樣隨時(shí)啟動(dòng)交互式會(huì)話:

每個(gè)人都很喜歡它:

但它仍然是一個(gè)額外的依賴項(xiàng),而且我們?nèi)匀恍枰惭b TypeScript。

我們還必須注意一些更細(xì)微的復(fù)雜性,比如如何使用 ts-node 處理 ES 模塊時(shí)的 --esm 標(biāo)志。

? 現(xiàn)在:

隨著 Node.js 的全新升級(jí),這一切都改變了:

  • 原生內(nèi)置 TypeScript 支持。
  • 無需依賴任何額外的包。
  • 無需中間文件和模塊配置。

現(xiàn)在,像 Prettier、Next.js 和 Webpack 這樣的我們喜愛的 JS 工具可以擁有更安全和更具智能提示的配置文件。

好吧,幾乎沒有人會(huì)把 Webpack 列入他們最喜愛的工具列表,但不管怎樣……

看看已經(jīng)有類似的 Pull Request 來支持 Prettier 的 prettier.config.ts 了——這要?dú)w功于這一新發(fā)展,他們將邁出更大的步伐。

背后的工作原理是什么?

對(duì) TypeScript 的支持將是漸進(jìn)的,所以目前它只支持類型——你還不能使用像枚舉這樣的更典型的 TypeScript 特性(不過誰現(xiàn)在還用枚舉呢)。

它使用 @swc/wasm-typescript 工具在內(nèi)部去除 TypeScript 文件中的所有類型。

所以這段代碼:

會(huì)被轉(zhuǎn)換成這樣:

如何在 Node.js 中開始使用 TypeScript

正如我之前提到的,這是一個(gè)早期的開始,所以它仍然是實(shí)驗(yàn)性的,目前你需要使用 --experimental-strip-types 標(biāo)志:

node --experimental-strip-types index.ts

這將在即將發(fā)布的版本中得到支持。

最后的想法

內(nèi)置 TypeScript 是一個(gè)重大的舉措,使得 Node.js 成為 JavaScript 開發(fā)者更加愉快的平臺(tái)。我肯定會(huì)使用這個(gè)功能。

盡管支持還不如 Bun 或 Deno 那樣無縫,但它對(duì)整個(gè) JavaScript 生態(tài)系統(tǒng)產(chǎn)生了深遠(yuǎn)的影響,因?yàn)?Node 仍然是目前最受歡迎的 JS 后端框架。

責(zé)任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2023-08-29 09:43:21

Node.js.env

2023-11-16 14:56:13

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2013-03-08 09:54:00

BAENode.js百度云

2019-05-05 11:47:09

TypeScript開發(fā)Node.js

2011-09-09 14:23:13

Node.js

2011-11-01 10:30:36

Node.js

2011-09-08 13:46:14

node.js

2011-09-02 14:47:48

Node

2012-10-24 14:56:30

IBMdw

2011-11-10 08:55:00

Node.js

2011-11-30 11:32:37

Node.js

2024-07-30 15:02:44

2021-12-25 22:29:57

Node.js 微任務(wù)處理事件循環(huán)

2012-03-28 13:34:09

紅帽Node.js支持

2020-05-29 15:33:28

Node.js框架JavaScript

2012-02-03 09:25:39

Node.js

2015-06-23 15:27:53

HproseNode.js

2021-04-22 08:03:32

Node.jsJavaScriptv8
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)