我有一个Node
+ExpressJS
后端测试服务器,我用以下命令运行它(并监视更改(:
$ npm run dev
这是因为我有以下内容:package.json
:
{
...
"main": "index.js",
"type": "module",
"scripts": {
...
"dev": "cross-env DEBUG=app nodemon --exec babel-node src/index.js"
},
...
}
我还可以使用以下命令调试VS Code
的后端代码:/.vscode/launch.json
:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Backend Debug",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/backend/src/index.js",
"runtimeExecutable": "${workspaceFolder}/backend/node_modules/.bin/babel-node",
"runtimeArgs": ["--nolazy"]
}
]
}
我的问题是:即使我可以使用上面的launch.json
正确调试后端代码,但该过程并没有注意到更改。我的意思是,如果我对代码进行了更改,那么服务器就不会以新的更改重新启动。
你知道怎么做吗?
谢谢!
package.json
文件中的脚本使用流行的nodemon包来跟踪对代码的更改,并相应地自动重新启动应用程序:"cross-env DEBUG=appnodemon--exec-babel node-src/index.js"。
但是,您的VS代码运行配置在不使用nodemon的情况下启动应用程序。它只是直接运行您的节点程序。
我对VS代码还不够熟悉,不知道为了正确使用nodemon和VS代码,您的运行配置应该是什么,但其他一些人已经在这里描述了一种方法。