Node.js v23.6.0 最近發布了,它帶來了一個重大更新:--experimental-strip-types 的取消標記。這意味著 Node.js 現在可以原生運行 TypeScript 文件,無需任何額外配置。
為什麼 TypeScript 很重要
TypeScript 透過引入可選的靜態類型和高級功能(例如介面、泛型和類型推斷)來增強 JavaScript。多年來,它已經成為大規模 JavaScript 應用程式的事實上的標準。透過與 Node.js 的集成,後端開發人員可以更輕鬆地存取 TypeScript。
在 Node.js 中執行 TypeScript
要在 Node.js 中執行 TypeScript 文件,只要執行:
node index.ts
除了 .ts 文件之外,Node.js 還支援 .mts 和 .cts 文件,但不支援 .tsx。
Node.js 如何執行 TypeScript
Node.js 使用 swc 版本來移除型別註釋,留下可以執行的純 JavaScript 程式碼。
在 Node.js 中執行 TypeScript 的注意事項
本機導入必須引用 TypeScript 文件
在沒有捆綁程式的環境中使用 TypeScript 時,您可能之前編寫如下導入:
import { myFunction } from './my-module.js';
而不是來自“./my-module.ts”
這是為什麼呢? TypeScript 編譯器不會修改「./my-module.js」等模組擴展,因此開發人員必須使用與轉譯的 JavaScript 輸出一致的擴展。
但是,由於 Node.js 使用檔案副檔名來決定模組類型,因此您必須在匯入中明確引用 TypeScript 檔案:
import { myFunction } from './my-module.ts';
此變更是必要的,因為 Node.js 依賴檔案副檔名來決定模組類型。相較之下,TypeScript 編譯器之前保留了「./my-module.js」等模組說明符不變,要求開發人員適應轉譯的輸出。
沒有內建類型檢查
Node.js 在執行 TypeScript 檔案時不執行型別檢查。為了確保類型安全,您需要在本機上執行 TypeScript 編譯器 (tsc) 或類似工具,例如:
tsc --watch
此外,正確配置 tsconfig.json 對於類型檢查和編碼之間的一致性至關重要:
node index.ts
- allowImportingTsExtensions: 允許直接匯入 .ts 文件,而不是匯入 .js。
- rewriteRelativeImportExtensions: 將 .ts 檔案的相對導入重寫為 .js 檔案的相對導入。
- verbatimModuleSyntax: 如果我們在匯入類型時不使用 type 關鍵字,則會發出警告。
必須使用 type 關鍵字來匯入類型
匯入類型時需要 type 關鍵字 - 否則類型剝離不會刪除它們。
import { myFunction } from './my-module.js';
在 Node.js 中執行 TypeScript 的限制
不支援非 JavaScript 語言功能
不支援某些特定於 TypeScript 的功能,包括:
- 枚舉
- 命名空間
- 類別建構子中的參數屬性
要啟用這些功能,您可以新增 --experimental-transform-types 標誌。
不支援 TypeScript 帶來的未來 JavaScript 功能
TypeScript 允許透過轉譯在目前 JavaScript 引擎上執行即將推出的 JavaScript 功能(例如裝飾器)。
但是,由於 Node.js 僅剝離 TypeScript 類型,因此不支援此類功能。
較舊的 Node.js 版本可以運行 TypeScript 嗎?
根據 Marco on X 的說法,Node.js v22 將支援 TypeScript,但 v20 不會。
參考
- Node 對 TypeScript 的新內建支援
- Node.js 現在預設支援 TypeScript
我們是 Leapcell,是將 Node.js 專案部署到雲端的首選。
Leapcell 是用於 Web 託管、非同步任務和 Redis 的下一代無伺服器平台:
多語言支援
- 使用 Node.js、Python、Go 或 Rust 進行開發。
免費部署無限個專案
- 只需支付使用費用-無請求,不收費。
無與倫比的成本效率
- 即用即付,無閒置費用。
- 範例:25 美元支援 694 萬個請求,平均回應時間為 60 毫秒。
簡化的開發者體驗
- 直覺的使用者介面,輕鬆設定。
- 完全自動化的 CI/CD 管道和 GitOps 整合。
- 即時指標和日誌記錄以獲取可行的見解。
輕鬆的可擴充性和高效能
- 自動擴展,輕鬆處理高並發。
- 零營運開銷 - 只需專注於建置。
在文件中探索更多內容!
在 X 上追蹤我們:@LeapcellHQ
閱讀我們的部落格
以上是Node.js v:內建 TypeScript 支援終於來了的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

JavaScript起源於1995年,由布蘭登·艾克創造,實現語言為C語言。 1.C語言為JavaScript提供了高性能和系統級編程能力。 2.JavaScript的內存管理和性能優化依賴於C語言。 3.C語言的跨平台特性幫助JavaScript在不同操作系統上高效運行。

JavaScript在瀏覽器和Node.js環境中運行,依賴JavaScript引擎解析和執行代碼。 1)解析階段生成抽象語法樹(AST);2)編譯階段將AST轉換為字節碼或機器碼;3)執行階段執行編譯後的代碼。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Dreamweaver Mac版
視覺化網頁開發工具