直接在 Chrome 的调试窗口中调试 Vue 代码有诸多不便, 好在 Visual Studio Code 中提供了 Debugger for Chrome 插件,能够通过配置直接在 VS Code 断点调试代码, 并且在 VS Code 的调试窗口看到 Chrome 中 console 相同的值,这篇文章就来介绍一下这个配置过程。

1.开启 Chrome 远程调试端口

首先我们需要在远程调试打开的状态下启动 Chrome, 这样 VS Code 才能 attach 到 Chrome 上。

Windows

  • 右键点击 Chrome 的快捷方式图标,选择属性
  • 在目标一栏,最后加上 --remote-debugging-port=9222,注意要用空格隔开

macOS

  • 打开控制台

  • 执行命令 /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222

Linux

  • 打开控制台
  • 执行命令 google-chrome --remote-debugging-port=9222

2.安装 Chrome Debug 插件

点击 Visual Studio Code 左侧边栏的扩展按钮, 然后在搜索框输入Debugger for Chrome 并安装插件,再输入,安装完成后点击 reload 重启。

3.创建 Debug 配置文件

点击 Visual Studio Code 左侧边栏的 调试 按钮, 在弹出的调试配置窗口中点击 设置 小齿轮, 然后选择 chrome, VS Code 将会在工作区根目录生成.vscode 目录,里面会有一个 lanch.json 文件并会自动打开

用下面的配置文件覆盖自动生成的 lanch.json 文件内容。

注意:URL中的端口号要跟WEBPACK配置的启动端口号一致。

{
// 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": "chrome",
"request": "attach",
"name": "Attach to Chrome",
"port": 9222,
"webRoot": "${workspaceRoot}/src",
"url": "http://localhost:8080/#/", 
"sourceMaps": true,
"sourceMapPathOverrides": {
"webpack:///src/*": "${webRoot}/*"
}
}
]
}

4.修改 webpack 配置

如果是基于 webpack 打包的 vue 项目, 可能会存在断点不匹配的问题, 还需要做些修改:

1.打开根目录下的 config 目录下的 index.js 文件

2.将dev 节点下的 devtool 值改为 'eval-source-map'

3.将dev节点下的 cacheBusting 值改为 false

5.开启调试

上述配置完成之后:

1. 通过第一步的方式以远程调试打开的方式打开 Chrome

2. 在 vue 项目中执行 npm run dev 以调试方式启动项目

3. 点击 VS Code 左侧边栏的调试按钮,选择 Attach to Chrome 并点击绿色开始按钮,正常情况下就会出现调试控制条。

现在就可以在 vue 文件的 js 代码中打断点进行调试了。


作者:朝雨忆轻尘
出处:https://www.cnblogs.com/xifengxiaoma/
版权所有,欢迎转载,转载请注明原文作者及出处。

最新文章

  1. powershell例子
  2. 背水一战 Windows 10 (16) - 动画: ThemeAnimation(主题动画)
  3. php学习笔记:文件的上传(包含设置文件的上传大小限制)
  4. iOS SQLite 增删改查的封装(关系型)
  5. js解析xml,获取XMl标签属性值
  6. bzoj3767 A+B Problem加强版
  7. iOS 事件处理机制与图像渲染过程
  8. cocos2d-x 3.0 新特性样例
  9. Linux下memcache的安装和启动测试
  10. Sublime Text 3 安装简记
  11. 记一次vue长列表的内存性能分析和优化
  12. C语言解析WAV音频文件
  13. [原]Jenkins(十六) jenkins再出发之jenkins+robot+blue ocean+svn
  14. An error occurred. Sorry, the page you are looking for is currently unavailable. Please try again later.
  15. switch case语句中能否作用在String,long上
  16. call()、delegatecall()
  17. gaia 开源多语言的pipeline 平台
  18. ElasticSearch 核心概念
  19. 通过flask中的Response返回json数据
  20. (转).net面试题(老赵)

热门文章

  1. 1.2.4注意Sysyem.out.println与i--
  2. 通过pip安装套件
  3. (转)WCF中神秘的“8733"端口和“Design_Time_Addresses”
  4. 20155326 第五周加分题--mybash的实现
  5. java基础-day20
  6. ubuntu-12.04.4-alternate-i386安装
  7. Scala_模式匹配
  8. node-webkit学习(4)Native UI API 之window
  9. JS学习笔记6_事件
  10. WPF MeasureOverride和 ArrangeOverride做个 页面导航