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。
有用的链接
我希望本教程能改善您的开发过程。
感谢您的阅读!愉快的编码! ð¥³