在VS Code中启动Edge浏览器调试Vue项目

最近维护一个Vue 2.x的老项目,网上的资料介绍在VS中调试前端代码都是使用Chrome浏览器,但我没有装Chrome浏览器,想在VS Code中直接调试Vue代码,百度了很多资料,尝试了好几种方案,终于找到简单可行的方法。

根据微软官方的资料,如果想在VS Code中使用Edge浏览器进行调试,可以安装Microsoft Edge Tools for VS Code 插件,安装后可以打开一个跟VS Code集成的Edge浏览器,详细内容请参考官方链接:

在 Visual Studio Code 中调试 Microsoft Edge - Microsoft Edge Development | Microsoft Learn

DevTools 扩展的 launch.json 文件 - Microsoft Edge Development | Microsoft Learn

但是在VS Code中集成Edge进行调试对于电脑屏幕比较小的情况很不方便,而且还有一个问题就是这个集成的Edge浏览器打开我的Vue网站样式有问题,最后只好放弃该方案。

下面是安装Microsoft Edge Tools 后在launch.json文件里面添加的默认配置内容:

复制代码
"configurations": [
        {
            "type": "vscode-edge-devtools.debug",
            "request": "attach",
            "name": "Attach to Microsoft Edge and open the Edge DevTools",
            "url": "http://localhost:9528",
            "webRoot": "${workspaceFolder}"
        },
        {
            "type": "vscode-edge-devtools.debug",
            "request": "launch",
            "name": "Launch Microsoft Edge and open the Edge DevTools",
            "url": "http://localhost:9528",
            "webRoot": "${workspaceFolder}"
        }
    ]
复制代码

安装该工具后,再添加两个使用VS Code直接打开独立的Edge浏览器的配置:

复制代码
{
            "name": "Attach to Edge",
            "port": 9222,
            "request": "attach",
            "type": "msedge",
            "webRoot": "${workspaceFolder}"
        },
        {
            "name": "Launch Edge",
            "request": "launch",
            "type": "msedge",
            "url": "http://localhost:9528",
          
        },

        {
            "name": "chrome",
            "type": "chrome",
            "request": "launch",
            "url": "http://localhost:9528/",
            "webRoot": "${workspaceRoot}"
        },
复制代码

保存launch.json文件,之后在VS Code的调试活动面板运行和调试下拉框里面选择 Lanuch Edge,点击按钮进行调试就可以打开一个Edge窗口。

注意启动调试之前,还需要修改Vue的调试工具支持 devtool: 'source-map',注意不同的Vue CLI版本devtool 设置所在的文件不同,详细内容请参考Vue官方文档:

在 VS Code 中调试 — Vue.js (vuejs.org)

按照上文内容介绍,的确可以打开Edge进行调试,但是无法正确命中断点,这是因为使用Vue CLI工程发布后的项目文件对JS进行了编译,浏览器里面运行的JS代码不是项目源码,所以需要映射要调试的代码路径,在launch.json里面增加 sourceMapPathOverrides 的设置,并且修改webRoot的设置,修改后的配置内容如下:

         {
            "name": "Launch Edge",
            "request": "launch",
            "type": "msedge",
            "url": "http://localhost:9528",
            "webRoot": "${workspaceFolder}/src",
            "sourceMapPathOverrides": {"webpack:///src/*": "${webRoot}/*" }  
        },

 sourceMapPathOverrides 的设置还可以指定更多的源码映射路径,比如下面的例子:

复制代码
"configurations": [
        {
            "type": "chrome",
            "request": "launch",
            "name": "Launch Chrome against localhost",
            "url": "http://localhost:8091/dist/#/",
            "webRoot": "${workspaceFolder}/src",
            "breakOnLoad": true,
            "sourceMapPathOverrides": {
                "webpack:///./*": "${webRoot}/*",
                "webpack:///src/*": "${webRoot}/*",
                "webpack:///*": "*",
                "webpack:///./~/*": "${webRoot}/node_modules/*",
                "meteor://app/*": "${webRoot}/*"
            }
        }
    ]
复制代码

总结:

上面的过程关键点就是lauch.json的配置,用一张图片来总结,如下图。

posted on   深蓝医生  阅读(1806)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示