Vue 代码调试
- console
- debugger
- 浏览器调试
- 推荐文章
初入职场,还是个前端小白,代码写不出来,师傅不在
小梦 vs 后端大兄弟:
我运行了一个东西,一直出不来
后端大兄弟:
我可以试一试断点,看哪里出错
······
后端大兄弟:
我好像不懂 如何打前端断点,都被webpack 重新封装过了
小梦:
okok,是时候总结一番
Vue代码如何进行调试
console
作为小白,日常最常使用的就是
-
console.log
输出数值 -
console.debug
打印调试信息 - 在推荐文章中 《你所不知道的 console》,
console.time
console.timeEnd
进行时间计时 -
console.profile
和console.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
则需另外下载插件