为打字稿ESM项目设置热加载
#生产率 #typescript #node #esm

tl; dr

您是否将项目移动到使用ES模块,但是您面临着一些意外的问题?您并不孤单。在本教程中,您将学习如何与ts-node一起设置nodemon

等等,为什么我们不使用ts-node-dev?当前,与TS ESM项目有关的一些问题使其更难使用。检查此issue以获取更多详细信息。


热层?

当您在本地开发时,此技术非常方便。这将自动关注您的源代码和更新的更改。因此,您只需要使代码工作,而热装饰将在幕后发挥魔力。这将改善您的代码开发过程,从而带来更大的效率和速度,因为您不必每次申请时都需要重新启动。


让我们将其设置ð§


先决条件

  • node.js> = v18.12.0

初始步骤

mkdir app-esm-hot-reload
cd app-esm-hot-reload
npm init -y

安装DEV依赖项

npm install --save-dev typescript@5.1.6 ts-node@10.9.1 nodemon@3.0.1

初始化打字稿

  npx tsc --init

配置步骤

  • package.json
{
  ...
  "type": "module",
  "scripts": {
    "build": "tsc",
    "dev": "nodemon src/index.ts",
    "start": "node dist/index.js"
  },
  ...
}
  • tsconfig.json
{
  "compilerOptions": {
    "target": "ESNext",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "outDir": "dist",
    "esModuleInterop": true,
    "strict": true,
    "skipLibCheck": true
  },
  "ts-node": {
    "esm": true
  },
  "exclude": ["node_modules", "./*.ts", "__test__"]
}
  • 创建index.ts
mkdir src
touch src/index.ts
  • 执行脚本
npm run dev
  • 对index.ts或任何其他文件进行更改

您的应用程序应自动重新加载

  • 就是这样!现在您可以开始编码而无需在每次更改时重新启动应用程序。 ðº
P.S。您可以参考此template

有用的链接


我希望本教程能改善您的开发过程。

感谢您的阅读!愉快的编码! ð¥³