借助 Node.js 中的最新功能和工具,建立現代 TypeScript 專案從未如此簡單或令人興奮。本指南將向您展示如何利用最新的 Node.js 功能來建立輕量級高效的開發工作流程。
此設定透過利用以下內容強調簡單性,本機功能和最小依賴性:
本機 ESM(ECMAScript 模組)用於更清晰、現代的語法。
實驗性 TypeScript Stripping(--experimental-strip-types)用於本機執行 TypeScript 檔案。
內建檔案監視功能,無需 nodemon 等第三方工具
使用 .env 檔案支援本機環境變數
探索此設定的 repo: esm-pure-experimental-strip-types 。
ECMAScript 模組 (ESM) 透過匯入和匯出帶來現代語法。
ESM 的優點:
效能:與 CommonJS (CJS) 相比,導入/導出的靜態分析提高了最佳化效果。
簡化模組解析:需要明確的檔案副檔名,加快模組解析速度。
例如,而不是:
const module = require('./module');
你現在寫道:
import module from './module.js';
--experimental-strip-types 標誌可讓您直接在 Node.js 中執行 .ts 文件,因此無需使用 Babel 或 SWC 等轉譯器。使用方法如下:
node --experimental-strip-types index.ts
要求:
使用 ESM 語法。
在匯入中包含明確的檔案副檔名(例如.ts)。
以下是一個範例 tsconfig.json,可協助您入門:
{
"$schema": "https://json.schemastore.org/tsconfig",
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "Node",
"strict": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"skipLibCheck": true,
"isolatedModules": true,
"resolveJsonModule": true,
"outDir": "./dist",
"rootDir": "./src",
"noEmit": true,
"types": ["node"],
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"incremental": true
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules", "dist"]
}
關鍵配置:
allowImportingTsExtensions:確保導入時需要 .ts 副檔名。
verbatimModuleSyntax:這避免改變您的匯入/匯出語法。
透過使用 --experimental-strip-types,您可以繞過 Babel、SWC、Webpack 或 TSX 等工具,從而顯著簡化您的工具鏈。
忘記nodemon! Node.js 現在原生支援檔案監視。使用 --watch 標誌進行即時重新載入:
node --watch index.ts
好處:
比nodemon更快、更有效率。
本機支援意味著更少的依賴。
您不再需要像 dotenv 或 dotenv-safe 這樣的套件來處理 .env 檔案。只需使用 --env-file 標誌:
node --env-file=.env index.ts
優點:
與.env 檔案無縫整合。
完全原生的功能,減少依賴膨脹。
這種現代的 Node.js + TypeScript 設定透過利用最新功能消除了不必要的複雜性。借助原生 ESM、實驗性 TypeScript 剝離、內建文件監視和 .env 支持,您可以:
減少依賴。
提高性能。
簡化您的工作流程。
透過使用這些工具,您將提高生產力並專注於建置而不是配置。
您最喜歡的 Node.js + TypeScript 功能是什麼?請在評論中告訴我!
Woovi是一個金融科技平台,徹底改變了巴西企業和開發商處理付款的方式。 Woovi 以開發人員為先的理念建置,簡化了與 Pix 等即時支付方式的集成,使公司能夠無縫接收付款並實現財務工作流程自動化。
如果您想與我們一起工作,我們正在招募!
原文出處:https://dev.to/woovi/a-modern-nodejs-typescript-setup-for-2025-nlk