2025 年的 Node.js 开发步骤

2025/04/09

2025 如何通过 Node.js TypeScript 的新功能來进行轻量高效的的后端开发

框架选择

优先考虑

需要服务器端渲染可以考虑

其他

TypeScript

推荐的 tsconfig 配置

// tsconfig.json
{
  "compilerOptions": {
    "target": "ESNext",
    "module": "NodeNext",
    "moduleResolution": "nodenext",
    "noEmit": true, // Optional - see note below
    "forceConsistentCasingInFileNames": true, //程序试图通过与磁盘上的大小写不同的大小写来包含文件,则 TypeScript 将发出错误
    "verbatimModuleSyntax": true, // TypeScript 会原封不动保留你的 import / export 语法,  https://www.typescriptlang.org/tsconfig/#verbatimModuleSyntax
    "erasableSyntaxOnly": true, // Node.js 仅支持不具有运行时语义的 TypeScript 特定语法
    "skipLibCheck": true, // 跳过默认库声明文件的类型检查
    "rewriteRelativeImportExtensions": true // 将相对导入路径中的 .ts、.tsx、.mts 和 .cts 文件扩展名重写为输出文件中对应的 JavaScript 文件扩展名
  }
} 

开发环境可以通过下面两个命令启动

Subpath Imports

Subpath Imports(子路径导入)是一种现代化模块导入方式,配合 Node.js 的 exports, imports 字段或 TypeScript 的 paths 设置, 可以带来以下几个显著好处

ESM

环境变量

您不再需要像 dotenv 之类包来处理.env 文件。简单地使用 --env-file 标志

node --env-file=.env index.ts

watch

nodemon更高效, Node.js 现在支持本地文件监视

node --watch index.ts

测试

您不再需要像 jest 之类包来开发测试, 使用 node:asser, node:test 编写测试文件, 通过 node --test 启动 Node.js 命令行测试运行器

node --test "**/*.test.js" "**/*.spec.js" 

ORM

日志

参数验证

API 文档

代码参考

你可以参考 https://github.com/ckvv/templateserver-* 项目

参考文档

Edit this page on GitHub