前言 

众所周知,在项目过程中我们常常遇到的一个问题就是本地调试的时候没问题但是发布到线上的时候就不行了。在时间充裕的情况下,我们当然可以慢慢调试,但是那是不可能的。在线上遇到问题时,难免会倍感压力和焦虑,这个时候就有必要强化前端的调试能力了。谷歌浏览器作为最受欢迎的浏览器,设计者们必定也早已经帮我们考虑过调试的问题。

一、开发者工具中的Overrides功能

它能够实现 在不改动源码且不用重新打包发布就能改变前端脚本的执行逻辑,这样就大大减少了排错的时间。

原理是 浏览器执行脚本时会使用位于浏览器客户端本机 的临时脚本代替从服务器后台返回的脚本。

1.首先切换到开发者工具中的 page页选项卡

page页列出了当前浏览器中已打开的网站以及网站的页面文件,此时可以切换到Overrides选项卡

并选择一个本地的文件夹

选择完文件夹之后右键点击已打开的test.html标头 选择 "save for overrides" 将test.html保存到我们选的文件夹中

保存完之后我们编辑test.html加入一行调试代码 然后ctrl + s 保存修改

完成之后刷新页面看控制台的输出,发现确实生效了

 二、断点调试

1.正常断点

正常断点会阻塞用户的操作直到断点结束,断点命中时可以查看和修改作用域中的变量。

实际操作过程中可以从http请求的堆栈进入添加断点,如下

切换到network选项卡后锁定一个http请求然后从Initiator列将鼠标悬停后选择堆栈的某一层,如 "options.vue?937c:651"

进入之后会自动切换到Source选项卡并打开options.vue源码,当然这个源码也可以从Pages页面的WebPack:// 栏目打开,在打开的源码视图中行号前点右键菜单可以进行添加断点

分别是 Add breakpoint(添加断点)  Add conditional breakpoint (添加条件断点)

Add logpoint (添加日志断点)

添加断点之后会发生页面会出现阻塞 ,同时可以在源码区域和 右侧 面板查看局部变量.

 这时候如果需要修改作用域内的变量,需要切换到 console 选项卡 

所以这种方法打断点不仅可以查看变量还可以修改变量。

缺点是会阻塞页面操作

2.条件断点

当正常语句碰到循环语句 诸如 while和for时 如果循环次数过多明显不利于快速排查bug,所以

条件断点应运而生。

添加断点时加入条件表达式  i == 998

运行结果如下,当i == 998时 会进入断点,其它的操作和上述断点一致

3.日志断点

日志断点实现和console.log一样的效果,专门用于变量的打印输出

优点是不会引起页面阻塞,缺点是不能修改变量

添加断点的时候表达式和console.log 参数保持一致

运行结果如下

谷歌浏览器调试vue项目相关推荐

  1. 浏览器 下载安装vue js devtools调试vue项目

    下载vue js devtools插件的方式: 推荐网址: 1.https://www.extfans.com/ 2.百度下载谷歌浏览器助手插件,直接进入谷歌网上应用商店进行下载 3.https:// ...

  2. 安卓手机模拟器调试--vue项目在线调试(HBuilder X, 配合模拟器--夜神模拟器)及打包

    1.下载HBuilder X 下载地址 -- https://www.dcloud.io/ 2.打开HBuilder 建一个项目 3. 打包自己的Vue项目,vue-cli2 在目录下的config文 ...

  3. vue调试工具如何使用_教你使用Vue.js的DevTools来调试vue项目

    Vue DevTools项目的官方主页位于GitHub上:https://http://github.com/vuejs/vue-devtools.你可以找到安装说明,帮助解决一些问题等等.目前该扩展 ...

  4. idea调试vue项目

    前言 之前尝试的各种前端编辑器H5Builder,SublimeText,VSCode,NotePad++等等:作为一名后端开发,自己是从Eclipse系列的IDE转向使用JetBrain系列,深受I ...

  5. Chrome调试vue项目时session异常,后端tp6 session使用异常

    Chrome调试时跨站不能设置cookie问题 this set-cookie didn't specify a "SameSite" attribute,然后变成默认Lax. 然 ...

  6. 前端Vue项目调用页面web3.js:连接metaMask钱包,(查询钱包ETH余额,查询代币余额,ETH转账,代币转账,代币授权,查询授权数量,计算价格)等功能

    这里分享下相关文档 1.web3.js中文文档 https://learnblockchain.cn/docs/web3.js/getting-started.html 2.metamask官方文档: ...

  7. Vue项目构建开发入门

    Vue项目构建开发入门 开篇:Vue CLI 3 项目构建基础 大家好,当你点进这个标题,开始阅读本章的时候,说明你对 Vue.js 是充满好奇心和求知欲的.我之前写过一篇文章,这样评价 Vue.js ...

  8. 解决VS调试web项目启动谷歌浏览器“无标题”、“已崩溃”问题

    解决VS调试web项目启动谷歌浏览器"无标题"."已崩溃"问题 方法一: 尝试添加任意一个参数,如 --no-sandbox--test-type --no-s ...

  9. vue项目 手机调试配置

    vue开发手机版项目过程中,需要手机调试,网上给的方法有很多, 我的设备是win10电脑 + 安卓手机, 常用两种手机调试本地项目方法:chrome和微信开发者工具. 一.vue-cli2项目中更改配 ...

最新文章

  1. 国内外有哪些不错的需求管理工具?如何选择?
  2. 分布式锁实现:Redis
  3. Mysql 修改 复杂的汇总_MySQL数据分析:复杂查询
  4. cdrx4被禁用怎么解决_双显卡怎么切换到独立显卡
  5. python os.popen.readlines异常_python中执行sed命令操作源文件时出现错误
  6. 【机器学习】详解 BackPropagation 反向传播算法!
  7. 操作系统与存储:解析Linux内核全新异步IO引擎io_uring设计与实现
  8. Flutter进阶—实现动画效果(一)
  9. pyspark使用anaconda后spark-submit方法(本人对其他文章进行的补充)
  10. python导入dat数据_收好Python代码,导入项目数据不费力
  11. Java 文件读写示例1
  12. Hershell:跨平台反向Shell生成器
  13. putty使用ssh登录时出现Access denied
  14. 修改金仓数据库KingbaseES端口
  15. 大招流的英雄没法子混了啊!----- dota 6.72新英雄
  16. redis数据库正确用法
  17. 数理统计(数值修约、0.5修约、0.2修约、有效数字运算、平均值、中位数、极差、标准差、变异系数)
  18. 高林大学计算机应用基础试题及答案,计算机应用基础教学课件作者高林02单元2Windows7的使用课件.doc...
  19. Java选择题(十八)
  20. 面对困境最大的困难是走出第一步的勇气

热门文章

  1. java poi对Excel表格进行单元行删除
  2. xxx定律 3782
  3. 分享一个一对一直播自动聊天脚本保护生态高山流水核心JS源码
  4. 2020年中国经济(第七部分)
  5. H5 腾讯地图无法导航
  6. Jquery无缝轮播图
  7. Java基础知识(三十一)IO流(二) File类、递归、IO流基础
  8. 身份证号码是18位数字字符构成的字符串,输入一个身份证号码判断该号码拥有者的性别
  9. MSBuild使用初步
  10. 【RTS】李宇翔 monibuca 讲座 学习