vscode-vue-debug

简介: vscode-vue-debug

睡在哪里都是睡在夜里。——贾平凹《废都》

今天写个node+vue的vscode里对chrome进行debug

首先确保你的路径是项目根目录,懒得踩坑或者去对应配置

我这里用vue-cli创建一个新的vue项目

没有tyarn或者cnpm的话可以安装一个

npm i -g cnpm yarn tyarn --registry=https://registry.npm.taobao.org
# 查看全局依赖存储路径
yarn global dir

然后是配置环境变量

对应路径注意不是在Data目录里:

C:\Users\achao\AppData\Local\Yarn\bin

安装:

cnpm install -g @vue/cli
# OR
tyarn global add @vue/cli

创建一个项目:

vue create simple-vue
# OR
vue ui

此处选择vue2

创建好了我们用vscode打开

路径如下

我们运行一下

cnpm run serve
# OR
yarn serve

这里我编写代码时发现格式化老出问题,我不想让它换行我的标签属性,于是我修改了vscodesettings.json

{
    "workbench.colorTheme": "One Dark Pro",
    "git.autofetch": true,
    "[jsonc]": {
        "editor.defaultFormatter": "vscode.json-language-features"
    },
    "files.autoSave": "onWindowChange",
    "html.format.enable": true,
    "vetur.format.defaultFormatter.html": "js-beautify-html",
    "vetur.format.defaultFormatterOptions": {
        "js-beautify-html": {
            "wrap_attributes": "aligned-multiple"
        },
    },
    "beautify.config": {
        "brace_style": "collapse,preserve-inline"
    },
    "[javascript]": {
        "editor.defaultFormatter": "HookyQR.beautify"
    }
}

然后开始在/src/components/HelloWorld.vue组件中写代码:

<script>
export default {
  name: "HelloWorld",
  props: {
    msg: String,
  },
  created() {
    [...this.someArrays(10)].forEach((i) => {
      console.log(i);
    });
  },
  methods: {
    *someArrays(len) {
      for (const i of Array.from(Array(len), (i, l) => l)) {
        yield i;
      }
    },
  },
};
</script>

保存运行一下,可以看到成功输出我们想要的数据

此时如果我们打开控制台查看源码,按ctrl+p搜索我们的HelloWorld.vue,搜出来的是编译后的页面:

因此我们需要配置下:

vue.config.js

写法可以如下:

module.exports = {
    configureWebpack: {
        devtool: "source-map"
    }
}

甚至可以这么写,我们顺带配置下启动端口:

module.exports = {
    configureWebpack: config => {
        config.devtool = 'source-map'
    },
    devServer: {
        port: 2000
    }
}

重新yarn serve启动就可以看到我们的页面源码了

下方改依赖的操作是为了稍后和launch.json映射上,并没有太过深入研究过webpack这块,这是我搞了一整天发现的解决办法

然后去修改一下package.json中的依赖:

devDependencies中新增:

"compression-webpack-plugin": "3.1.0"

并将@vue/cli-service版本改为^3.3.0

我这边完整的devDependencies为:

"devDependencies": {
   "@babel/core": "^7.12.16",
   "@babel/eslint-parser": "^7.12.16",
   "@vue/cli-plugin-babel": "~5.0.0",
   "@vue/cli-plugin-eslint": "~5.0.0",
   "@vue/cli-service": "^3.3.0",
   "compression-webpack-plugin": "3.1.0",
   "eslint": "^7.32.0",
   "eslint-plugin-vue": "^8.0.3",
   "vue-template-compiler": "^2.6.14"
 }

然后执行一下安装依赖

cnpm i
# OR
tyarn install

重新启动项目

我们此时打两个断点break pointer

点击上方的运行=>启动调试,选择Chrome

然后这里我们可以按照文档编辑我们的debug配置

找不到了的话,在根目录的.vscode下面有个launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "vuejs: chrome",
            "url": "http://localhost:2000",
            "webRoot": "${workspaceFolder}/src",
            "breakOnLoad": true,
            "sourceMapPathOverrides": {
                "webpack:///src/*": "${webRoot}/*"
            }
        }
    ]
  }

然后再次点击启动调试我们就可以看到断点生效了

此处如果上方package.json中的依赖配置正确,则可以对应看到浏览器源码结构为webpack://,因此上方配置需要重写webpack:///src/*${webRoot}/*

如果没生效,且结构是这样的,依赖版本也不正确,这个甚至还没有webpack://下的src目录,那么vue2可以按照上面修改package.json的依赖解决

目前没有找出vue3debug更好方案,留个坑在这,解决思路暂时为

  • 了解学习vscodedebugger对应再修改.vscode/launch.json配置去重写映射上
  • 了解学习compression-webpack-plugin这个插件
  • chrome中打断点,vscode一样能直观看到变量和调用链

后续操作就和chromedebug差不多的了,可以参考我这篇博客

相关文章
|
3月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
284 2
|
7月前
|
JSON JavaScript 数据格式
vue在vscode代码格式化
vue在vscode代码格式化
283 2
|
2月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码,包括安装插件、配置 ESLint 和 Prettier 以及 VSCode 设置的具体步骤。通过这些工具,可以显著提升编码效率和代码质量。
559 4
|
2月前
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码
随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这些工具,可以确保代码风格一致,提高代码质量和可读性。
225 1
|
4月前
|
JSON JavaScript 小程序
使用VSCode搭建UniApp + TS + Vue3 + Vite项目
`uniapp` 是一个基于 Vue.js 的框架,支持一次开发多端部署,深受前端开发者喜爱。本文详细介绍如何使用 `VSCode` 搭建 `uniapp` 项目,包括安装 `node` 和 `pnpm`、创建项目、安装扩展组件、配置 `Json` 文件注释及安装相关插件。通过这些步骤,你可以高效地使用 `VSCode` 开发 `uniapp` 项目,并享受代码提示和自动补全功能,提高开发效率。
370 24
使用VSCode搭建UniApp + TS + Vue3 + Vite项目
|
5月前
|
JavaScript
WebStorm 创建 Vue 项目
WebStorm 创建 Vue 项目
45 0
|
8月前
|
数据采集 Web App开发 JavaScript
vscode跟踪vue代码方法
vscode跟踪vue代码方法
200 0
|
8月前
|
Web App开发 XML 传感器
VSCode 开发Vue必备插件
VSCode 开发Vue必备插件
214 0
|
8月前
|
JavaScript
VSCode 开发 Vue 语法提示
VSCode 开发 Vue 语法提示
151 0
|
JavaScript
如何在 vscode 中配置自己的 vue 模板?
如何在 vscode 中配置自己的 vue 模板?
192 0