面向 2025 年的现代 Node.js + TypeScript 配置

2025-05-28

面向 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');
Enter fullscreen mode Exit fullscreen mode

你现在写:

import module from './module.js';
Enter fullscreen mode Exit fullscreen mode

实验性 TypeScript 剥离(--experimental-strip-types)

使用 --experimental-strip-types 标志,您可以直接在 Node.js 中运行 .ts 文件,无需使用 Babel 或 SWC 等转译器。使用方法如下:

node --experimental-strip-types index.ts
Enter fullscreen mode Exit fullscreen mode

要求:

  • 使用 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"]
}
Enter fullscreen mode Exit fullscreen mode

关键配置:

  • allowImportingTsExtensions:确保导入时需要 .ts 扩展名。
  • verbatimModuleSyntax:这可以避免修改导入/导出语法。通过使用 --experimental-strip-types,您可以绕过 Babel、SWC、Webpack 或 TSX 等工具,从而显著简化您的工具链。

内置文件监视(--watch)

忘掉 nodemon 吧!Node.js 现在原生支持文件监控。使用 --watch 参数可以进行实时重新加载:

node --watch index.ts
Enter fullscreen mode Exit fullscreen mode

好处:

  • 比 nodemon 更快、更高效。
  • 本机支持意味着更少的依赖。

本机环境变量支持(--env-file)

您不再需要 dotenv 或 dotenv-safe 之类的软件包来处理 .env 文件。只需使用 --env-file 标志即可:

node --env-file=.env index.ts
Enter fullscreen mode Exit fullscreen mode

优点:

  • 与.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
PREV
创建设计系统实用指南
NEXT
对 console.log 说不!