《图解Vue3.0》- 调试

如何对vue3项目进行调试

调试是开发过程中必备的一项技能,掌握了这项技能,可以很好的定义bug所在。一般在开发vue3项目时,有三种方式。

  • 代码中添加debugger;
  • 使用浏览器调试:sourcemap需启用
  • vs code 调试:先开启node服务,后启用vs code的调试模式

具体使用如下:

debugger调试法

当打开开发者模式时才会起作用(F12), 但是使用完之后将其删除,不然遗留在代码中,不利于自己与他人开发。一般配置文件,也不允许其出现,.eslintrc.json, rules: "no-debugger":"error"

复制代码
<template>
    <div>请求数据:{{ loginMsg }}</div>
    <button @click="loginBtn">点击获取mock数据</button>
</template>
<script lang="ts" setup>
import { ref } from "vue";
import axios from 'axios';

const loginMsg = ref('');

const loginBtn = () => {
    debugger;
    axios.get('api/test').then((res) => {
        loginMsg.value = JSON.stringify(res);
    });
};

</script>

浏览器调试法

在浏览器中调试是最常见的一种方式,即使部署了代码,只要将sourcemap打开(vite.config.ts->build->sourcemap: true,)即可。一般生产环境会将其关闭。

我们在开发vue3的时候, 如果借用浏览器调试的话,需要安装一个浏览器插件:vue developtools。

这里仅说明如何调试与vue3相关的,其他还有关于dom/css等相关的调试修改,不在此处赘述。

具体使用如下:

调试JS代码

找到source中的文件,提前打好断点,然后触发事件:

调式vue3组件

如果想看vue3各个组件的prop,data,pinia数据等,这里就需要借用vue developtools插件了。在这里,我们也可以对components中的数据进行修改,也会触发界面的重新渲染。

vs code调试法

→ 启动项目服务

→ 启动vs code调试(F5)

→ Wab App(Chrome)

→ 修改配置文件, launch.json这里的url里面的端口,就是启动服务的端口

复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "pwa-chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:3000",
            "webRoot": "${workspaceFolder}/src",
            "sourceMaps": true,
        }
    ]
}

→ F5, 启动调试

这时会重新打开一个浏览器并打开当前的服务。

→ 在vs code中打断点,在浏览器中使用触发事件。

相关推荐
我是伪码农7 小时前
Vue 1.23
前端·javascript·vue.js
wqwqweee7 小时前
Flutter for OpenHarmony 看书管理记录App实战:搜索功能实现
开发语言·javascript·python·flutter·harmonyos
HIT_Weston8 小时前
107、【Ubuntu】【Hugo】搭建私人博客:模糊搜索 Fuse.js(三)
linux·javascript·ubuntu
henujolly12 小时前
ethers.js读取合约信息
开发语言·javascript·区块链
毕设源码-郭学长12 小时前
【开题答辩全过程】以 基于Web的高校课程目标达成度系统设计与实现为例,包含答辩的问题和答案
前端
wuhen_n12 小时前
高阶函数与泛型函数的类型体操
前端·javascript·typescript
POLITE313 小时前
Leetcode 437. 路径总和 III (Day 16)JavaScript
javascript·算法·leetcode
難釋懷13 小时前
解决状态登录刷新问题
java·开发语言·javascript
ヤ鬧鬧o.13 小时前
多彩背景切换演示
前端·css·html·html5
一起养小猫13 小时前
Flutter实战:从零实现俄罗斯方块(三)交互控制与事件处理
javascript·flutter·交互