====== nodemon + ts-node 实时编译 ======
实现目标,更改代码之后自动加载。(([[https://medium.com/@sudarshanadayananda/how-to-live-reload-typescript-node-server-bc40171fdb7|How to Live Reload TypeScript Node Server in Local Development]]))
安装 ''%%npm install -g ts-node%%'', 然后通过命令运行ts脚本 ''%%ts-node index.ts%%''。
''%%npm install --save-dev nodemon%%''
以下面的文件布局为示范
├── node_modules
├── src
│ ├── models
│ ├── controllers
│ ├── services
│ ├── app.ts
├── index.ts
├── package.json
└── ...
创建一个nodemon.json文件
++++ nodemon.json |
{
"ignore": ["**/*.test.ts", "**/*.spec.ts", "node_modules"],
"watch": ["src"],
"exec": "npm start",
"ext": "ts"
}
++++
修改package.json文件中脚本段
{
"scripts": {
"dev": "nodemon",
"start": "ts-node ./src/app.ts"
}
}
* 需要实时更新代码:''%%npm run dev%%''
* 单纯运行本地服务:''%%npm run start%%''
===== 运行单个文件 =====
全局安装 nodemon : ''%%npm i -g nodemon%%''
运行一个文件 ''%%nodemon src\index.ts%%''
===== VSCode debug =====
使用VSCode的调试功能,会极大增加开发速度。
本地安装 ts-node ''%%npm i --save-dev ts-node tsconfig-paths%%'' \\
上面的实时修改进程使用的是全局安装的ts-node,注意此两者不同。
++++ launch.json |
{
"version": "0.2.0",
"configurations": [
{
"type": "pwa-node",
"request": "launch",
"name": "Debug TS",
"skipFiles": [
"/**"
],
"program": "${workspaceFolder}/TS/server.ts",
"runtimeArgs": ["-r", "ts-node/register", "-r", "tsconfig-paths/register"],
"console": "integratedTerminal",
}
]
}
++++
:!: 必须在package.json所在的根目录打开VSCode,否则会有路径错误。
{{tag>node typescript}}
参考文章