为了账号安全,请及时绑定邮箱和手机立即绑定

2025年构建现代Node.js + TypeScript项目的最新方案 🚀

这个标题既通俗易懂,又符合中文的口语表达习惯,同时准确地反映了文章的主要内容。

借助 Node.js 的最新特性和工具,从未如此简单或令人兴奋地就能搭建一个现代的 TypeScript 项目。本指南将教你如何利用最新的 Node.js 功能来创建一个轻量且高效的流程。

为什么选这个设置?

此设置通过以下几点强调了简洁、原生特性和最少的依赖特点:

  • 原生支持 ESM (ECMAScript 模块) 以实现更清洁、现代的语法。
  • 实验性 TypeScript 剪裁功能 (--experimental-strip-types),以直接运行 TypeScript 文件。
  • 内建文件监控功能,无需依赖 nodemon 等第三方工具。
  • 通过 .env 文件原生支持环境变量。

查看此设置的仓库:esm-pure-experimental-strip-types

Node.js ESM (Node.js 模块系统)

ECMAScript 模块 (ESM) 引入了现代的 import 和 export 语法。

ESM的好处有哪些:(注:ESM是指...)

  • 性能提升:与 CommonJS (CJS) 相比,静态分析导入/导出可以提高优化效率。
  • 简化模块解析过程:需要明确指定文件扩展名,从而加快模块解析的速度。例如,改为:
const 模块 = require('./模块');

进入全屏 退出全屏

你现在写:

    import module from './module.js';

从 './module.js' 导入模块。这行代码的作用是从当前目录下的 'module.js' 文件中导入模块。

点击进入全屏 点击退出全屏

实验性 TypeScript 去类型 --experimental-strip-types

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

    node --experimental-strip-types index.ts

注释:此命令用于运行指定的 TypeScript 文件,并启用了实验性的类型剥离功能。

全屏模式 退出全屏

要求:

  • 使用 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

监视 index.ts 文件的变化。当你运行此命令时,它会自动监视 index.ts 文件的任何更改。

切换到全屏 退出全屏

优点:

  • 比 nodemon 更快且更高效。
  • 原生支持意味着依赖更少。
内置环境变量支持 --env-file

你不再需要这些包来处理 .env 文件。只需通过 --env-file 标志:

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

点击全屏/退出

优点:

  • .env 文件完美集成。
  • 完全本地功能,减少依赖臃肿。
最后的思考

这个现代的 Node.js 和 TypeScript 设置通过利用最新功能简化了不必要的复杂性。借助原生 ESM、实验性的 TypeScript 轻量化处理、内置的文件监控和 .env 支持,您就可以:。

  • 减少依赖性。
  • 提高性能。
  • 简化工作流。

通过使用这些工具,你将能提高生产力,并专注于构建,而不是繁琐的配置细节。

你最喜欢哪些 Node.js 和 TypeScript 的功能?在评论区留言告诉我吧!


Woovi 是一家金融科技平台,正在革新巴西企业和开发者处理支付的方式。秉承以开发者为中心的理念,Woovi 简化了与即时支付方式如 Pix 等的集成,让企业可以无缝接收付款并自动化财务流程。

如果你想加入我们,我们现在招聘招聘信息

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消