vscode使用技巧——webpack项目的断点调试

2023-05-16

为了方便调试,我研究了一下如何使用vscode进行断点调试。本次尝试已在html-template项目中测试通过。

安装插件

在vscode的插件商店安装必要的插件“Debugger for Chrome”。

Debugger for Chrome

调整webpack配置

webpack.dev.config.js文件中,增加source map的配置。

module.exports = webpackMerge.merge(webpackBase, {
  devtool: 'eval-source-map'
});

配置启动项

点击“菜单运行-启动调试”,选择“chrome”。会自动生成配置文件launch.js

{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [{
    "type": "chrome",
    "request": "launch",
    "name": "Launch Chrome",
    "url": "http://localhost:8888", // 配置成项目对应路径
    "webRoot": "${workspaceFolder}",
    "preLaunchTask": "debug", // 添加的配置,在执行之前需要启动项目,这个是启动项目用的任务。
    "sourceMapPathOverrides": {
      "webpack:///./*": "${webRoot}/*"
    }, // 添加的配置,为了找到打包文件和源代码之间的关联,使断点生效。
  }]
}

配置任务

当你按F5启动调试的时候,会提示你debug任务配置找不到,选择配置任务,选择你需要配置的npm脚本就会自动生成tasks.js文件。

下面必须添加的配置是需要手动添加的,其他配置系统会自动生成。

{
  "version": "2.0.0",
  "tasks": [{
    "type": "npm",
    "script": "dev",
    "problemMatcher": {
     // 必须添加的配置,编辑器从命令输出提取警告/错误/提示消息使用的pattern
      "pattern": {
        "regexp": "^([^\\s].*)\\((\\d+|\\,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$"
      },
      // 必须添加的配置,指示Task后台运行时,VSCode如何跟踪Task运行状态,具体是依靠Task所执行命令的输出来判断的,两个pattern属性分别表示Task启动或结束时输出的消息特征(注意特征不惟一,可以从TERMINAL面板的输出自行确定),VSCode在接收到符合pattern的消息后开始或停止对Task的跟踪。当跟踪停止后,VSCode按launch.json配置启动调试会话(如不指定pattern,VSCode不会对tasks.json报错,但运行Task 10秒后将提示The specified task cannot be tracked. 并中止调试)。
      "background": {
        "activeOnStart": true,
        "beginsPattern": ".",
        "endsPattern": "Version: webpack.+"
      }
    },
    "label": "debug", // 配置成你需要的任务名
    "detail": "webpack-dev-server --config webpack.dev.config.js",
    // 必须添加的配置,指示Task是否在后台运行,必须为true,告诉VSCode可以在Task运行时启动调试会话,具体的启动时机由后面的background.endsPattern指定
    "isBackground": true 
  }]
}

启动调试

F5再次启动调试,配置成功。

调试工具条

vscode中的日志

断点调试

在需要的代码行处添加断点,当执行到该行,浏览器会自动切回vscode。

增加断点

浏览器跳转到vscode断点处

参考:
在VSCode中调试webpack-dev-server项目 - 用我双手乾坤转过的文章 - 知乎

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vscode使用技巧——webpack项目的断点调试 的相关文章

随机推荐

  • 树莓派安装Pandas

    使用pip安装 xff0c 网络问题失败 root 64 raspberrypi span class token operator span usr span class token operator span lib span clas
  • seurat自学笔记1.0 单细胞数据导入

    Python读取 h5ad文件 import anndata import pandas as pd adata 61 anndata read 34 home R R data Seurat PBMC10 output adata h5a
  • 实验室工作站配置多用户远程连接教程(亲测有效版)

    系统版本 xff1a win10 Step1 用户配置 1 1 新建用户 右键此电脑 rightarrow 管理 rightarrow 本地用户和组 右键
  • linux下ftp用wput上传目录

    ftp的put貌似不支持put目录 xff08 谁知道怎么put目录 xff1f xff09 wput可以put目录 xff0c 使用也简单 wput home test ftp ftpusername password 64 ip tes
  • bash中!和#的问题

    size 61 medium 今天执行一条shell命令 xff0c 其中包含了 64 总之是有一段以 开始 xff0c 结果报错event not found 不解 xff0c 查了shell相关资料了解到bash Shell脚本 xff
  • Windows蓝屏代码详解

    size 61 medium Windows蓝屏密码 xff01 补全版 ZT 格式是 xff1a xff08 0x0000 操作已成功完成 0x0001 错误的函数 xff09 1 停止错误编号 0x0000000A 说明文字RQL NO
  • 制作启动U盘加载阵列卡驱动

    size 61 medium 安装服务器时碰到没有阵列卡驱动无法安装的问题大家应该都碰到过 之前一次安装2003碰到没阵列卡驱动 xff0c 解决的办法比较土 xff0c 上网下了张别人做好的集成了raid驱动的2003 这次不行了 xff
  • xfs文件系统优化

    size 61 medium 网上搜集的xfs文件系统优化方案 xff0c 自己做个小结 b 先贴出优化前后的对比 xff0c 只是简单的用dd命令测试了一下而已 xff0c 不怎么专业 写和读的文件为内存2倍 b size code 61
  • Fusion-io的吸引力:高读写能力与低延迟

    fusion io ssd硬盘的性能 url http sapling me hardware fusion io html url
  • 转:python的socket编程

    python socket编程简介 xff1a python 编写server的步骤 xff1a 1 第一步是创建socket对象 调用socket构造函数 如 xff1a socket 61 socket socket family ty
  • TIME_WAIT连接过多的解决

    netstat n awk 39 tcp 43 43 S NF END for a in S print a S a 39 LAST ACK 1 SYN RECV 164 CLOSE WAIT 3 ESTABLISHED 655 FIN W
  • MySQL更改root密码

    情况一 记得root密码 用SET PASSWORD命令 1 打开终端win 43 r输入cmd回车即可打开 xff1b 2 通过mysql u用户名 p指定root用户登录MySQL xff0c 输入后回车会提示输入密码 3 修改MySQ
  • mac下控制台可以搜索到命令但是vscode显示zsh: command not found:

    记录下吧 困扰几天了 xff0c mac怎么这么难安这些环境变量什么的啊哈哈哈 node npm都是能搜到的 在控制台全局安装了yarn xff0c 控制台可以yarn v命令 xff0c 但是vscode报错zsh command not
  • 1.机器学习sklearn-------聚类

    1 sklearn简介 Scikit learn 也简称 s klearn 是机器学习领域当中最知名的 python 模块之一 sklearn库共分为6大部分 xff0c 分别用于完成分类任务 回归任务 聚类任务 降维任务 模型选择以及数据
  • KEIL编译报错,解决方法汇总

    目录 背景 最近在跟着野火码uCosiii的代码时 xff0c 感觉非常完美 xff0c 结果一编译 xff0c 报了120个莫名其妙的问题 xff0c 下面是踩过的坑 xff0c 一起记录下 xff0c 免得下次又掉进去了 1 编译汇编文
  • “从0开始的FreeRTOS”系列教程第一讲

    大家好 xff0c 这次给大家带来了Freertos的教程 xff0c 这次打算一口气做完一整个系列的教程 xff0c 大概更新频率会是月更 这个系列的教程的主要目的是带大家了解实时系统 real time operating system
  • 我的2013奋发突进

    先简单介绍自己 男 大专学历2012年6月毕业 期间2011 6月 2012 6 算是实习期 正式实习了一年 从2012 6月实习结束后 没打算在原来实习的单位呆着 换了一家公司 一直到2013年的7月末 考虑到种种原因 回归家乡了 技术篇
  • VR 杂想

    什么是VR VR xff08 科学技术 xff09 即VR xff08 Virtual Reality xff0c 即虚拟现实 xff0c 简称VR xff09 xff0c 是由美国VPL公司创建人拉尼尔 xff08 Jaron Lanie
  • 解决rosdep init错误和rosdep update错误以及ros密钥错误

    解决rosdep init错误和rosdep update错误以及ros密钥错误 如果仍无法解决下面所述问题 xff0c 欢迎留言 对于rosdep init错误有以下几种方法 1 更换软件源并更新软件包 sudo apt get upda
  • vscode使用技巧——webpack项目的断点调试

    为了方便调试 xff0c 我研究了一下如何使用vscode进行断点调试 本次尝试已在html template项目中测试通过 安装插件 在vscode的插件商店安装必要的插件 Debugger for Chrome 调整webpack配置