我在VS代码中的断点一直在跳-我使用的是node.JS,当我运行调试器时,我的断点从第30行大约到达第130行,或者带有导出功能的文件底部。
我正在处理的项目是服务层,因此几乎都是异步的。
async superspecficfunnamedoeshere(blah, accessToken) {
console.log('example')
Breakpoint goes on above line^
Bunch more code goes here, here is the function etc , the breakpoint is just under the function declaration
}
}
export thing from thing
^^ breakpoint moves to bottom export statement.
在该console.log行中放置一个断点仅会完全跳过整个功能,并转到底部的export语句。
这是我的launch.json-起初它在import语句中失败,直到我将其配置为与babel一起使用:
{
// 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": [
{
"type": "node",
"request": "launch",
"name": "thing1",
"program": "${workspaceFolder}/src/app.js",
"protocol": "inspector",
"runtimeArgs": [
"--harmony",
],
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/babel-node",
"envFile": "${workspaceFolder}/.env",
"outFiles": [ "${workspaceFolder}/bin/**/*.js" ],
}
]
}
最后这是我的babel配置
{ "env": {
"development": {
"sourceMaps": true,
"retainLines": true
}
},
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
如何使调试异步功能正常工作?
我已经尝试过vs代码文档,并且对源映射的工作方式有些困惑。但是我已经在那儿实施了一些建议。
只有断点从console.log行移到文件末尾没有错误消息,断点更早(没有任何显示内容)