差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
it:node:ts_node [2022-07-24 08:13] – 移除 - 外部编辑 (Unknown date) 127.0.0.1it:node:ts_node [2023-04-11 15:44] (当前版本) – [nodemon + ts-node 实时编译] goldentianya
行 1: 行 1:
 +====== 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]]))
 +
 +安装 <color #ff7f27>''%%npm install -g ts-node%%''</color>, 然后通过命令运行ts脚本 <color #ff7f27>''%%ts-node index.ts%%''</color>
 +
 +<color #ff7f27>''%%npm install --save-dev nodemon%%''</color>
 +
 +以下面的文件布局为示范
 +
 +
 +    ├── node_modules
 +    ├── src         
 +    │   ├── models 
 +    │   ├── controllers    
 +    │   ├── services                                               
 +    │   ├── app.ts
 +    ├── index.ts
 +    ├── package.json                       
 +    └── ...
 +
 +
 +
 +
 +创建一个nodemon.json文件
 +++++ nodemon.json |
 +<file json nodemon.json>
 +{
 +  "ignore": ["**/*.test.ts", "**/*.spec.ts", "node_modules"],
 +  "watch": ["src"],
 +  "exec": "npm start",
 +  "ext": "ts"
 +}
 +</file>
 +++++
 + 
 +修改package.json文件中脚本段
 +<code json>
 +{
 +  "scripts": {
 +    "dev": "nodemon",
 +    "start": "ts-node ./src/app.ts"
 +  }
 +}
 +</code>
 +
 +  * 需要实时更新代码:<color #ff7f27>''%%npm run dev%%''</color>
 +  * 单纯运行本地服务:<color #ff7f27>''%%npm run start%%''</color>
 +
 +===== 运行单个文件 =====
 +全局安装 nodemon : <color #ff7f27>''%%npm i -g nodemon%%''</color>
 +
 +运行一个文件 <color #ff7f27>''%%nodemon src\index.ts%%''</color>
 +
 +
 +===== VSCode debug =====
 +
 +使用VSCode的调试功能,会极大增加开发速度。
 +本地安装 ts-node <color #ff7f27>''%%npm i --save-dev ts-node tsconfig-paths%%''</color> \\
 +<color #c3c3c3>上面的实时修改进程使用的是全局安装的ts-node,注意此两者不同。</color>
 +++++ launch.json |
 +<file json launch.json>
 +{
 +  "version": "0.2.0",
 +  "configurations": [
 +
 +    {
 +      "type": "pwa-node",
 +      "request": "launch",
 +      "name": "Debug TS",
 +      "skipFiles": [
 +        "<node_internals>/**"
 +      ],
 +      "program": "${workspaceFolder}/TS/server.ts",
 +      "runtimeArgs": ["-r", "ts-node/register", "-r", "tsconfig-paths/register"],
 +      "console": "integratedTerminal",
 +    }
 +  ]
 +}
 +</file>
 +++++
 +
 +:!: <color #ff7f27>必须在package.json所在的根目录打开VSCode,否则会有路径错误</color>
 +
 +
 +{{tag>node typescript}}
 +
 +参考文章
  
回到顶部
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0