Debugging VSCode:在开始调试web项目时自动运行npm脚本
下面是我的VS codeDebugging VSCode:在开始调试web项目时自动运行npm脚本,debugging,npm,visual-studio-code,Debugging,Npm,Visual Studio Code,下面是我的VS codelaunch.json文件: { "version": "0.2.0", "configurations": [ { "type": "chrome", "request": "launch", "name": "Launch Chrome against localhost", "url": "http://localhost:4321",
launch.json
文件:
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:4321",
"port": 9222,
"webRoot": "${workspaceFolder}"
}
]
}
我想要的是在调试开始之前运行npmstart
命令,即运行devserver,然后启动Chrome实例并导航到提供的url
因此,我将以下代码段添加到配置文件并运行调试:
"cwd": "${workspaceRoot}",
"runtimeExecutable": "npm",
"runtimeArgs": [
"start"
]
但我发现了这个错误:
Attribute runtimeExecutable does not exist ('npm')
有什么帮助吗?找到了解决方案:我需要一个
preLaunchTask
launch.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Chrome against localhost",
...
// This runs dev server before debugger
"preLaunchTask": "start-dev-server",
}
]
}
{
"version": "2.0.0",
"tasks": [
{
"label": "start-dev-server",
"type": "npm",
"script": "start",
"isBackground": true,
"problemMatcher": {
"owner": "npm",
"background": {
"activeOnStart": true,
"beginsPattern": ".*",
"endsPattern": "Finished.+"
},
"pattern": {
"regexp": "",
}
}
},
]
}
tasks.json
:
{
"version": "0.2.0",
"configurations": [
{
"name": "Launch Chrome against localhost",
...
// This runs dev server before debugger
"preLaunchTask": "start-dev-server",
}
]
}
{
"version": "2.0.0",
"tasks": [
{
"label": "start-dev-server",
"type": "npm",
"script": "start",
"isBackground": true,
"problemMatcher": {
"owner": "npm",
"background": {
"activeOnStart": true,
"beginsPattern": ".*",
"endsPattern": "Finished.+"
},
"pattern": {
"regexp": "",
}
}
},
]
}
我用过这个,但它不完整,因此它不会返回并启动chrome窗口