面向 2025 年的现代 Node.js + TypeScript 配置
借助 Node.js 的最新功能和工具,构建现代 TypeScript 项目从未如此轻松,也从未如此精彩。本指南将向您展示如何利用最新的 Node.js 功能创建轻量级、高效的开发工作流程。
为什么选择此设置?
此设置通过利用以下内容强调简单性、本机功能和最小依赖性:
- 原生 ESM(ECMAScript 模块)用于更清晰、现代的语法。
- 实验性 TypeScript Stripping(--experimental-strip-types)用于本机运行 TypeScript 文件。
- 内置文件监视功能,无需 nodemon 等第三方工具
- .env 文件支持本机环境变量
探索此设置的 repo:esm-pure-experimental-strip-types。
Node.js ESM
ECMAScript 模块 (ESM) 通过导入和导出带来现代语法。
ESM 的优势:
- 性能:与 CommonJS (CJS) 相比,导入/导出的静态分析提高了优化。
- 简化模块解析:需要显式指定文件扩展名,从而加快模块解析速度。例如,改为:
const module = require('./module');
你现在写:
import module from './module.js';
实验性 TypeScript 剥离(--experimental-strip-types)
使用 --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 等工具,从而显著简化您的工具链。
内置文件监视(--watch)
忘掉 nodemon 吧!Node.js 现在原生支持文件监控。使用 --watch 参数可以进行实时重新加载:
node --watch index.ts
好处:
- 比 nodemon 更快、更高效。
- 本机支持意味着更少的依赖。
本机环境变量支持(--env-file)
您不再需要 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