脚本之家

电脑版
提示:原网页已由神马搜索转码, 内容由www.jb51.net提供.
您的位置:首页网络编程JavaScriptnode.js→ VSCode launch.json配置

VSCode launch.json配置详细教程

  更新时间:2020年06月18日 10:27:49  作者:忍不住的k 
这篇文章主要介绍了vscode 的node.js debugger 的 launch.json 配置详情,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

以下为vscode 的node.js debugger 的 launch.json 配置详情:

启动配置必须设定请求类型,属性request , 分为launch(启动) 和 attach(附加)两种 ,看下面例子:

{
"version": "0.2.0",
"configurations": [
{
...
"request": "launch", //请求类型为启动
},
{
...
"request": "attach", //请求类型为附加
}
]
}

下面是launch 和 attach 类型共有的属性:

  • protocol设置调试协议
  • auto 尝试自动检测目标运行时使用的协议
  • inspector新的V8调试器协议,解决遗留版本的多数问题,node versions >= 6.3 and Electron versions >= 1.7.4.
  • legacy原始的v8调试器协议,node versions< v8.0 and Electron versions< 1.7.4.
  • port调试使用的端口
  • address TCP/IP地址,用于远程调试
  • localRoot 远程调试时映射的本地地址
  • remoteRoot 远程调试时的远程目录地址
  • sourceMaps默认为true
  • outFiles当map文件不在js文件同目录时用于指定 sourceMaps的位置
  • restart 自动重启调试
  • timeout配置自动附加的超时时间
  • stopOnEntry自动断点到第一行代码处
  • smartStep自动跳过未映射到源代码的代码
  • skipFiles :[]String,指定跳过单步调试的代码
 "skipFiles": [
"${workspaceFolder}/node_modules/**/*.js", //跳过node_modules
"${workspaceFolder}/lib/**/*.js",//跳过lib
"<node_internals>/**/*.js"//跳过node核心模块
]

trace启用诊断输出

以下是特定于类型 launch(启动)的配置属性:

  • program指定调试入口文件地址
  • args :[]String传递给程序的参数,可在process.argv拿到
  • cwd指定程序启动调试的目录 ,当vscode启动目录不是项目根目录,并且调试npm script时非常有用
  • runtimeExecutable 设置运行时可执行文件路径,默认是node
  • 可以是其他的执行程序,如npm、nodemon
  • runtimeArgs 传递给运行时可执行文件的参数,例如:
  {
"type": "node",
"request": "launch",
"name": "npm launch app",
"args":["a"],
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"app",
"b"
],
"port": 6666
}

打印参数可以发现 args 、runtimeArgs都会传给程序,但是runtimeArgs参数会紧跟可执行文件

  • runtimeVersion设置运行时可执行程序的版本,如果使用nvm,可以切换node.js版本
  • env添加额外的环境变量
  • envFile文件加载环境变量
  • console 配置终端可以是外部终端或者内部集成终端,默认值internalConsole
  • outputCapture-如果设置为std,则进程stdout / stderr的输出将显示在调试控制台中,而不是侦听调试端口上的输出。这对于直接写入stdout / stderr流而不是使用console.*API的程序或日志库很有用。
  • autoAttachChildProcesses跟踪调试对象的所有子过程,并自动附加到在调试模式下启动的子过程

以下是特定于类型attach(附加)的配置属性:

  • processId指定nodejs进程id,由于每次启动都会变,传入"${command:PickProcess}"

questions:

1. 如果使用了符号链接怎么调试?

传递参数:

{
"runtimeArgs": ["--preserve-symlinks"]
}

如果主脚本也在符号链接路径里面,需要再传递一个参数"--preserve-symlinks-main",支持的版本是 Node 10+.

2. 如何调试ECMAScript模块?

如果使用esm或传递--experimental-modules给Node.js以便使用ECMAScript模块,则可以传递这些选项通过runtimeArgs属性:

总结

到此这篇关于VSCode launch.json配置详细教程的文章就介绍到这了,更多相关VSCode launch.json配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

    • NodeJS引入了Cluster模块试图简化这些体力劳动,使用Cluster模块可以运行并管理多个实例进程,下面这篇文章主要给大家介绍了关于Node.js中cluster模块的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧
      2018-06-06
    • 这篇文章主要介绍了node.js中的模块系统,帮助大家更好的理解和学习node.js框架,感兴趣的朋友可以了解下
      2020-09-09
    • 我们在工作中可能会碰到这样的情况:一个人要负责多个项目的维护,而项目中的插件又各有不同,插件下载所需的node版本可能也不同,所以只有一个node版本是无法满足工作需求的,所以就有了nvm,volta等node版本管理工具,在本节将介绍nvm的使用方法
      2023-10-10
    • 这篇文章主要介绍了Node.js 多线程完全指南总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2019-03-03
    • 在前端工程化中,JavaScript 依赖包管理是非常重要的一环。依赖包通常是项目所依赖的第三方库、工具和框架等资源,它们能够帮助我们减少重复开发、提高效率并且确保项目可以正确的运行。本文详细介绍了Node工程的依赖包管理方式,感兴趣的同学可以参考一下
      2023-04-04
    • 这篇文章主要介绍了深入解析Nodejs中的大文件读写,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
      2022-09-09
    • 本文主要介绍了nodejs中全局变量的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
      2017-03-03
    • 这篇文章主要介绍了node.js中的path.extname方法使用说明,本文介绍了path.extname的方法说明、语法、使用实例和实现源码,需要的朋友可以参考下
      2014-12-12
    • 本文属于nodejs的基础知识介绍篇,从nodejs的基本概念,到架构示意图,同步异步等方面做了详细的解答,是篇非常不错的文章
      2014-11-11
    • 这篇文章主要介绍了NodeJS配置CORS实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
      2020-12-12

    最新评论