在VScode和Chrome中调试Vue,未绑定断点
Debugging Vue in VScode and Chrome, unbound breakpoint
我正在尝试调试我在 VSCode 和 Chrome 中编写的 Vue 网站。
当我在 data() { return {...} }
函数中放置一个断点时,它会停止,但是如果我尝试将它放在 Vue 文件或 JS 服务的方法中,一旦我通过调试配置启动 Chrome断点变得不受约束。有没有人对如何保持断点有任何想法?
这是我的配置文件:
"version": "0.2.0",
"configurations": [
{
"name": "Launch Chrome",
"request": "launch",
"type": "pwa-chrome",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}/client/meet-for-lunch/src",
"sourceMapPathOverrides": {
"webpack:///src/*": "${webRoot}/*"
}
},
{
"type": "node",
"request": "launch",
"name": "Debug server",
"runtimeExecutable": "nodemon",
"program": "${workspaceFolder}/server/bin/www",
"restart": true,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"skipFiles": [
"<node_internals>/**"
]
}
]
}
我正在添加服务器的调试配置,因为它正在运行。
这是我尝试调试的方法示例(来自 Vue 文件),我在 this.error = null
处设置了一个断点。该方法运行正常,所以我希望它在断点处停止:
methods: {
async login() {
try {
this.error = null;
const response = await AuthenticationService.login({
email: this.email,
password: this.password
})
this.$store.dispatch('setToken', response.data.token)
this.$store.dispatch('setUser', response.data.user)
}
catch (err) {
console.log(`An error has occured: ${JSON.stringify(err.response)}`)
this.error = err.response.data.error
}
}
}
我也在尝试调试我的服务:
login(credentials) {
return Api().post('/login', credentials)
}
Api 对象只是创建 Axios 请求
谢谢,
本
好吧,这并不是一个真正的答案,但我已经重启了我的节点服务器几次(更多)次,现在它停在了 breakpiont。我希望问题不会 return。现在他出于某种原因没有显示变量的值,但我想那是另一个问题。
感谢您的帮助:)
本
当我在 VSCode 中有未绑定断点时,我最终需要使用 --inspect
或 --debug-brk=5858
标志启动进程。除此之外,launch.json
给我带来了很多麻烦,这些资源帮助了我
- https://code.visualstudio.com/docs/nodejs/nodejs-debugging
- https://code.visualstudio.com/docs/nodejs/debugging-recipes
- https://code.visualstudio.com/docs/typescript/typescript-debugging
launch.json 例子:
{
"type": "node",
"request": "attach",
"name": "Node: Nodemon",
"processId": "${command:PickProcess}",
"restart": true,
"protocol": "inspector",
},
{
"name": "Launch tests via NPM",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script", "testDebug"
],
"port": 5858
}
package.json
"scripts": {
"start": "NODE_PATH=./src DEBUG=express:* NODE_ENV=dev nodemon -w src --ext ts --exec node --inspect -r tsconfig-paths/register -r ts-node/register src/index.ts",
"testDebug": "NODE_ENV=test ts-mocha --debug-brk=5858 --paths -p tsconfig.json",
}
},
https://www.codegrepper.com/code-examples/javascript/vuejs+vscode+unbound+breakpoint
经过一整天的搜索,这解决了我的问题
{
"version": "0.2.0",
"configurations": [
{
"name": "WSL Chrome",
"type": "chrome",
"request": "launch",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}/src",
"sourceMapPathOverrides": {
"webpack:///./src/*": "${webRoot}/*",
"webpack:///src/*": "${webRoot}/*"
}
}
]
}
我在我的 vueJS 项目中遇到了同样的问题。在对文件等进行任何更改之前尝试为我解决的问题:
ClientApp/App文件夹中:1.Deletenode_modules文件夹2.Deletepackage-lock.json文件3.Open一个cmd 提示您的 ClientApp/App 文件夹 4.Use cmd“npm i”
这最后一步将重新安装所有 node-modules。我遇到的问题一定是相互矛盾的 node-module.
截至 2022 年 5 月...
注意如果你使用 vscodium 和 firefox 你需要安装firefox-devtools 直接 来自市场:https://marketplace.visualstudio.com/items?itemName=firefox-devtools.vscode-firefox-debug
除此之外 launch.json
配置是标准配置:
{
"name": "Vue:Client",
"type": "firefox",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/src",
"pathMappings": [
{
"url": "file://",
"path": ""
}
]
},
扩展建议我插入那些路径映射。
见https://github.com/firefox-devtools/vscode-firefox-debug/issues/267
我正在尝试调试我在 VSCode 和 Chrome 中编写的 Vue 网站。
当我在 data() { return {...} }
函数中放置一个断点时,它会停止,但是如果我尝试将它放在 Vue 文件或 JS 服务的方法中,一旦我通过调试配置启动 Chrome断点变得不受约束。有没有人对如何保持断点有任何想法?
这是我的配置文件:
"version": "0.2.0",
"configurations": [
{
"name": "Launch Chrome",
"request": "launch",
"type": "pwa-chrome",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}/client/meet-for-lunch/src",
"sourceMapPathOverrides": {
"webpack:///src/*": "${webRoot}/*"
}
},
{
"type": "node",
"request": "launch",
"name": "Debug server",
"runtimeExecutable": "nodemon",
"program": "${workspaceFolder}/server/bin/www",
"restart": true,
"console": "integratedTerminal",
"internalConsoleOptions": "neverOpen",
"skipFiles": [
"<node_internals>/**"
]
}
]
}
我正在添加服务器的调试配置,因为它正在运行。
这是我尝试调试的方法示例(来自 Vue 文件),我在 this.error = null
处设置了一个断点。该方法运行正常,所以我希望它在断点处停止:
methods: {
async login() {
try {
this.error = null;
const response = await AuthenticationService.login({
email: this.email,
password: this.password
})
this.$store.dispatch('setToken', response.data.token)
this.$store.dispatch('setUser', response.data.user)
}
catch (err) {
console.log(`An error has occured: ${JSON.stringify(err.response)}`)
this.error = err.response.data.error
}
}
}
我也在尝试调试我的服务:
login(credentials) {
return Api().post('/login', credentials)
}
Api 对象只是创建 Axios 请求
谢谢,
本
好吧,这并不是一个真正的答案,但我已经重启了我的节点服务器几次(更多)次,现在它停在了 breakpiont。我希望问题不会 return。现在他出于某种原因没有显示变量的值,但我想那是另一个问题。
感谢您的帮助:)
本
当我在 VSCode 中有未绑定断点时,我最终需要使用 --inspect
或 --debug-brk=5858
标志启动进程。除此之外,launch.json
给我带来了很多麻烦,这些资源帮助了我
- https://code.visualstudio.com/docs/nodejs/nodejs-debugging
- https://code.visualstudio.com/docs/nodejs/debugging-recipes
- https://code.visualstudio.com/docs/typescript/typescript-debugging
launch.json 例子:
{
"type": "node",
"request": "attach",
"name": "Node: Nodemon",
"processId": "${command:PickProcess}",
"restart": true,
"protocol": "inspector",
},
{
"name": "Launch tests via NPM",
"type": "node",
"request": "launch",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script", "testDebug"
],
"port": 5858
}
package.json
"scripts": {
"start": "NODE_PATH=./src DEBUG=express:* NODE_ENV=dev nodemon -w src --ext ts --exec node --inspect -r tsconfig-paths/register -r ts-node/register src/index.ts",
"testDebug": "NODE_ENV=test ts-mocha --debug-brk=5858 --paths -p tsconfig.json",
}
},
https://www.codegrepper.com/code-examples/javascript/vuejs+vscode+unbound+breakpoint
经过一整天的搜索,这解决了我的问题
{
"version": "0.2.0",
"configurations": [
{
"name": "WSL Chrome",
"type": "chrome",
"request": "launch",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}/src",
"sourceMapPathOverrides": {
"webpack:///./src/*": "${webRoot}/*",
"webpack:///src/*": "${webRoot}/*"
}
}
]
}
我在我的 vueJS 项目中遇到了同样的问题。在对文件等进行任何更改之前尝试为我解决的问题:
ClientApp/App文件夹中:1.Deletenode_modules文件夹2.Deletepackage-lock.json文件3.Open一个cmd 提示您的 ClientApp/App 文件夹 4.Use cmd“npm i”
这最后一步将重新安装所有 node-modules。我遇到的问题一定是相互矛盾的 node-module.
截至 2022 年 5 月...
注意如果你使用 vscodium 和 firefox 你需要安装firefox-devtools 直接 来自市场:https://marketplace.visualstudio.com/items?itemName=firefox-devtools.vscode-firefox-debug
除此之外 launch.json
配置是标准配置:
{
"name": "Vue:Client",
"type": "firefox",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}/src",
"pathMappings": [
{
"url": "file://",
"path": ""
}
]
},
扩展建议我插入那些路径映射。
见https://github.com/firefox-devtools/vscode-firefox-debug/issues/267