Visual Studio Code 断点调试 Vue

不少人习惯在 Chrome 的调试窗口中调试 Vue 代码, 或者直接使用 console.log 来观察变量值, 这是很是痛苦的一件事,须要同时打开至少 3 个窗体。我的仍是更加习惯于断点调试。这篇文章将介绍如何配置 Visual Studio Code 和 Chrome 来完成直接在 VS Code 断点调试代码, 而且在VS Code的调试窗口看到Chrome中console相同的值。

设置 Chrome 远程调试端口

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

Windows

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

macOS

  • 打开控制台执行:webpack

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222

Linux

  • 打开控制台执行:web

    google-chrome --remote-debugging-port=9222

Visual Stuido Code 安装插件

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

添加 Visual Studio Code 配置

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

    {
      // 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}/*"
          }
        }
      ]
    }

修改 webpack 的 sourcemap

若是你是基于 webpack 打包的 vue 项目, 可能会存在断点不匹配的问题, 还须要作些修改:json

  • 打开根目录下的 config 目录下的 index.js 文件
  • dev 节点下的 devtool 值改成 'eval-source-map'
  • dev节点下的 cacheBusting 值改成 false

开始调试吧

一切具有了, 如今验收成果了bash

  • 经过第一步的方式以远程调试打开的方式打开 Chrome
  • 在 vue 项目中执行npm run dev以调试方式启动项目
  • 点击 VS Code 左侧边栏的调试按钮,选择 Attach to Chrome 并点击绿色开始按钮,正常状况下就会出现调试控制条。
  • 如今就能够在.vue文件的js代码中打断点进行调试了。
前往个人技术小站 https://www.bbwho.com 查看更多博客。
相关文章
相关标签/搜索