Vue 代码如何进行调试


初入职场,还是个前端小白,代码写不出来,师傅不在
小梦 vs 后端大兄弟:我运行了一个东西,一直出不来
后端大兄弟:我可以试一试断点,看哪里出错
······
后端大兄弟: 我好像不懂 如何打前端断点,都被webpack 重新封装过了
小梦:okok,是时候总结一番 Vue代码如何进行调试

console

作为小白,日常最常使用的就是

  • console.log 输出数值
  • console.debug打印调试信息
  • 在推荐文章中 《你所不知道的 console》,console.time console.timeEnd进行时间计时
  • console.profileconsole.profileEnd进行性能测试

但需注意的地方

  • 控制台 console.log 无法实时打印出引用类型的值
    • console.log 都会去截取快照,但是如果俩个修改引用类型的顺序和时间十分的接近,这个 console.log 会显示修改后的元素属性
    • 打印时,JSON.stringfy JSON.parse 组合使用可输出当前对象的值

debugger

在这里插入图片描述

debugger
const data = []
for (let id = 0; id < 1000; id++) {
  data.push({
    id,
    value: faker.lorem.sentences() // 长文本
  })
}

使用如上方法,可以出现调试页面,包含你关注的作用域(查看值)
但是会跳转到 app.js 等很多无相关的页面

浏览器调试

1、 在浏览器中展示源代码
打开 config/index.js并找到 devtool property。将其更新为:

如果你使用的是 Vue CLI 2,请设置并更新 config/index.js 内的 devtool property:

devtool: 'source-map',

如果你使用的是 Vue CLI 3,请设置并更新 vue.config.js内的 devtool property:

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

查看你的 Vue 版本可从 控制台中输入 vue -V 查看

直接在浏览器中打开 Source 中的 webpack src 可查看源代码,点击代码行数,可实现打断点
在这里插入图片描述
各个按钮详解

  • resume/pause script execution 恢复/暂停脚本执行
  • step over next function call 步过,将函数作为语句执行不展开
  • step into next function call 步入,进入函数执行上下文
  • step out of current function 布出当前函数
  • step 执行下一步
  • deactivate breakpoints 使所有断点暂时失效
  • don‘t pause on exceptions 出现异常不暂停

2、 如果你是从VS Code 启动程序

点击在 Activity Bar 里的 Debugger 图标来到 Debug 视图,然后点击那个齿轮图标来配置一个 launch.json 的文件,选择 Chrome/Firefox:Launch 环境。然后将生成的 launch.json 的内容替换成为相应的配置:
在这里插入图片描述

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "chrome",  
      "request": "launch",
      "name": "vuejs: chrome",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}/src",
      "breakOnLoad": true,
      "sourceMapPathOverrides": {
        "webpack:///src/*": "${webRoot}/*"
      }
    },
    {
      "type": "firefox",
      "request": "launch",
      "name": "vuejs: firefox",
      "url": "http://localhost:8080",
      "webRoot": "${workspaceFolder}/src",
      "pathMappings": [{ "url": "webpack:///src/", "path": "${webRoot}/" }]
    }
  ]
}
  • 根据浏览器自行选择数据
    • 如果是 chrome ,请把 type: chrome 改为 pwa-chrome ,如果类型是 chrome 则需另外下载插件

推荐文章

你所不知道的 console

<think>好的,我需要回答用户关于如何在HBuilder中调试Vue代码的问题。首先,我需要查阅提供的引用资料,找到相关的信息。引用[2]和[4]提到了HBuilderX对Vue3的支持,包括创建项目、编写代码调试应用程序等。用户可能想了解具体的调试步骤,比如设置断点、使用浏览器开发者工具或者HBuilderX内置的调试功能。 根据引用[2],HBuilderX支持多种浏览器和移动设备模拟器,这可能意味着调试可以在这些环境中进行。引用[4]提到HBuilderX的工程结构和页面管理,可能涉及到如何配置项目以便调试。另外,虽然引用[3]主要关于webpack配置和图片路径,但可能不影响调试方法。 接下来,我需要将这些信息整合成清晰的步骤。可能包括配置调试环境、使用浏览器工具、HBuilderX内置调试器以及Vue开发者工具。同时,要确保回答符合用户要求的格式,使用中文,正确应用LaTeX,并生成相关问题。需要注意引用标识的正确添加,例如在提到HBuilderX功能时引用[^2],在目录结构时引用[^4]。 需要验证步骤的准确性,比如如何启动调试,是否需要安装插件,或者是否有特定的配置。由于引用中没有详细描述调试的具体操作,可能需要结合一般Vue调试知识和HBuilderX的特点进行说明。例如,HBuilderX可能集成了终端运行npm命令,或者有内置的调试面板。此外,Vue的errorHandler(引用[1])可能在调试中用于捕获错误,但用户的问题更关注调试方法而非错误处理。 最后,生成的相关问题需要围绕调试方法展开,比如性能分析、配置优化或其他调试工具。确保问题与主题相关,帮助用户进一步探索。</think>### 在HBuilder中调试Vue代码的步骤 #### 1. **环境配置** - **项目创建**:在HBuilderX中新建Vue项目时,选择默认模板(如`helloworld`),确保工程结构符合Vue开发规范[^4]。 - **依赖安装**:通过HBuilderX内置终端运行`npm install`,确保Vue相关依赖(如`vue-devtools`)已正确安装。 #### 2. **使用浏览器开发者工具** - **启动调试**:点击HBuilderX的运行菜单,选择浏览器环境(如Chrome),系统会自动编译并打开浏览器。 - **断点调试**:在浏览器中按`F12`打开开发者工具,切换到`Sources`标签,找到Vue组件文件并设置断点。 - **查看数据流**:使用`Vue Devtools`扩展(需单独安装),可实时检查组件的状态、事件和路由变化。 #### 3. **HBuilderX内置调试功能** - **日志输出**:在代码中使用`console.log()`输出变量值,日志会显示在HBuilderX的`控制台`面板。 - **模拟器调试**:对移动端项目,使用HBuilderX的`真机运行`功能,通过USB连接设备或模拟器实时调试界面交互[^2]。 #### 4. **配置Vue错误捕获** - 在`main.js`中全局配置错误处理函数,便于捕获运行时异常: ```javascript Vue.config.errorHandler = (err, vm, info) => { console.error(`Vue error: ${err.toString()}\nInfo: ${info}`); };[^1] ``` #### 5. **调试配置优化** - **路径问题**:若遇到资源加载失败,检查`webpack.prod.conf.js`中的`publicPath`配置,确保为相对路径(如`publicPath: ''`)[^3]。 - **热重载**:修改代码后,HBuilderX会自动触发热更新,无需手动刷新浏览器。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值