从红屏到断点,VSCode+Chrome打开调试vue.js项目的黄金配置公式,后端转前端必看!

news/2025/2/28 21:07:33/文章来源:https://www.cnblogs.com/lyflexi/p/18744102

夙夜小哥这几天有个项目前端人手不够,要我支援几天。我本人之前是写后端的,在支援的过程中发现前端对JavaScript或者typescript的方法提示以及代码导航功能都比较弱,可能是由于js本身属于弱类型语言,所以这波并不属于VSCode的锅。

但是我又发现好像VSCode不进行配置的话,没法直接使用调试功能,好家伙,这下让我一顿上网冲浪百度+谷歌,翻来翻去感觉网友都没有写在点子上,最后还是我结合Vue官方文档与Copilot得到了答案

不得不感叹如今AI能力的强大。。

https://v2.cn.vuejs.org/v2/cookbook/debugging-in-vscode.html

https://copilot.microsoft.com/

好了,接下来进入本文的正题,“在VSCode中,如何调试我们的Vue前端项目"

开启webpack源映射source-map

首先新建vue.confg.js,开启webpack源映射source-map

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

接下来选择Run and Debug,创建属于VSCode的launch.json配置文件

在以上source-map开启的基础上,launch.json配置文件的具体配置需要根据当前项目src目录所处的位置有以下两种情况

  • scr在跟目录下如/project/src
  • src不在根目录下如/project/.../src

launch.json配置文件的具体配置见下文

src在根目录下如/project/src

项目结构如下:vue3-practice/src

.vscode/launch.json配置如下:

  • 指定项目启动端口:"url": "http://localhost:5173"
  • 指定src目录位置:"webRoot": "${workspaceFolder}/src",其中 ${workspaceFolder}意味着项目根目录vue3-practice
  • 开启webpack源映射source-map:"sourceMaps": true 。这里的 "sourceMaps": true 和vue.config.js中的 module.exports = { configureWebpack: { devtool: 'source-map' } } 的配置并不重复。前者是 VS Code 调试配置中的一部分,用于告诉调试器使用源映射,而后者是 Webpack 配置的一部分,用于生成源映射文件。两者共同作用,确保调试器能够正确映射到源代码。
  • 在调试配置中,"trace": true 表示启用详细的调试日志记录。这将生成更多的调试信息,帮助你诊断和解决调试过程中遇到的问题。
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "chrome","request": "launch","name": "Launch Chrome against localhost","url": "http://localhost:5173","webRoot": "${workspaceFolder}/src","sourceMaps": true,"trace": true}]
}

首先正常启动项目

npm run dev
或者
npm run serve

在项目已经启动的基础上,给项目源代码适当位置打上断点,然后选择IDE左侧边栏的Debug按钮以Debug模式再次启动

同时自动弹出新的调试模式浏览器主页窗口,证明调试模式已生效

src不在根目录下如/project/.../src

项目结构如下:NORMALIZEDVUE3/module_vue3/src

.vscode/launch.json配置如下:

  • 指定项目启动端口:"url": "http://localhost:5173"
  • 指定src目录位置:"webRoot": "${workspaceFolder}/module_vue3/src",其中 ${workspaceFolder} 意味着项目的根目录NORMALIZEDVUE3
  • 开启webpack源映射source-map:"sourceMaps": true 。这里的 "sourceMaps": true 和vue.config.js中的 module.exports = { configureWebpack: { devtool: 'source-map' } } 的配置并不重复。前者是 VS Code 调试配置中的一部分,用于告诉调试器使用源映射,而后者是 Webpack 配置的一部分,用于生成源映射文件。两者共同作用,确保调试器能够正确映射到源代码。
  • 在调试配置中,"trace": true 表示启用详细的调试日志记录。这将生成更多的调试信息,帮助你诊断和解决调试过程中遇到的问题。
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"type": "chrome","request": "launch","name": "Launch Chrome against localhost","url": "http://localhost:5173","webRoot": "${workspaceFolder}/module_vue3/src","sourceMaps": true,"trace": true}]
}

首先正常启动项目

npm run dev
或者
npm run serve

在项目已经启动的基础上,给项目源代码适当位置打上断点,然后选择IDE左侧边栏的Debug按钮以Debug模式再次启动

同时自动弹出新的调试模式浏览器主页窗口,证明调试模式已生效

打完收工!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/891342.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PCB绘制学习--嘉立创EDA专业版

PCB绘制学习--嘉立创EDA专业版 由于最近找工作四处碰壁,打算跟着大部分岗位的招聘要求学点东西起来,目前的计划是学习PCB绘制、STM32Cube开发工具以及HAL库的使用,FreeRTOS在STM32上的移植。同时还要做毕设,忙~ 做博客记录呢是觉得学了不记点笔记久了就跟没学过一样。 言归…

厂房AI火焰识别网络摄像机

厂房AI火焰识别网络摄像机通过深度学习算法,能够识别火焰的细微特征,即使在复杂环境背景下也能准确判断,在设计上借助传感器过滤掉图像上像火的物体,比如车尾灯,晚霞。算法帮助传感器过滤掉带有辐射的物体,比如人体,汽车尾气,太阳光等。使得误报率几乎不会存在,大大降低…

乱扔垃圾行为检测系统

乱扔垃圾行为检测系统基于YOLOX+RNN的深度学习算法,乱扔垃圾行为检测系统通过前端摄像头一旦检测到乱扔垃圾行为,系统会立即发出警报,通知相关人员及时处理,从而起到保障社会卫生的作用。本系统通过安装在垃圾桶周围的摄像头,实时监测垃圾桶内的垃圾量。当垃圾桶内的垃圾达…

现代CPU调优3: CPU 微架构

3 CPU CPU 微架构 本章简要概述了对软件性能有直接影响的关键 CPU 微体系结构特性。本章的目的并不是要涵盖 CPU 架构的所有细节和权衡,文献[Hennessy & Patterson, 2017 Computer Architecture, Sixth Edition]、[Shen & Lipasti, 2013 Modern Processor Design: Fun…

山体落石滑坡识别系统 落石泥石流监控摄像机

山体落石滑坡识别系统 落石泥石流监控摄像机基于YOLOX+RNN的深度学习算法,山体落石滑坡识别系统 落石泥石流监控摄像机通过安装在山区公路沿线的监控摄像机来实现对山体的实时监测。这些摄像机分布在关键位置,如山体易滑坡区域、桥梁附近等,能够24小时不间断地捕捉山体的动态…

MySQL语句查询——子查询和三表查询

一、子查询 1、定义:一个查询中嵌套另一个查询 2、子查询的分类 (1)标量子查询 (2)列子查询 (3)行子查询 (4)表子查询(运用多) 3、子查询详解 (1)标量子查询(返回一个值) -把一个sql 执行返回的一个值,作为另一个sql的条件,得到的结果是一行一列,一般出现在…

leetcode hot 14

解题思路:这题思路有很多,动态规划,前缀和等,前缀和就是遍历一遍,将每个前缀和与前面最小的前缀和相减,就能得到最大值,然后比较与记录最大值。(还有一种思路就是首先明确最大子串内部一定不会存在某个边缘子串小于0,所以可以遍历一遍先记录继续记录前缀和,然后比较ma…

如何在React.js中使用Shadcn/UI

如何在React.js中使用Shadcn/UI 学习如何在React.js中使用Shadcn/UI构建可自定义且轻量的界面。了解如何将其与Apipost集成,以实现高效的API管理和测试。非常适合希望提升React.js项目的开发者!使用Shadcn/UI构建现代化界面 创建简洁的用户界面是前端开发者的主要目标之一。随…

若依开发遇到的问题五

今天在写pdf上传文件接口的时候发生以下的情况:路径很明确,所以直接找过来:是这个类没有下载完成,顶端有提示下载,点击下载,问题解决

[深度学习] 大模型学习2-提示词工程指北

在文章大语言模型基础知识里,提示词工程(Prompt Engineering)作为大语言模型(Large Language Model,LLM)应用构建的一种方式被简要提及,本文将着重对该技术进行介绍。 提示词工程就是在和LLM聊天时,用来让模型回答得更好的一种方法。LLM的工作原理是猜下一个字或词是什…

20250228打卡

大创项目初版完工

Meta 无预警发布新一代 AI 眼镜 Aria Gen 2;腾讯混元 Turbo S 模型将长短思维链融合丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看点的 活动 」,但内容仅代表编辑…