问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用visual studio code调试javascript

发布网友 发布时间:2022-04-22 21:59

我来回答

2个回答

懂视网 时间:2022-05-15 06:19

这次给大家带来vscode调试编译过的js代码步骤解析,vscode调试编译过的js代码注意事项有哪些,下面就是实战案例,一起来看一下。

前言

在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求。

vscode 是一个非常棒的编辑器,内置功能强大的调试能力。经过简单的设定,就可以对 js 文件进行调试。但有时我们想要调试的内容是经过编译的,当然我们可以直接调试编译后的代码。但经过编译压缩以后的代码,可读性很差,且也可能无法分模块查看了,有什么方法进行编译前的代码调试么?答案当然是肯定的。

下面话不多说了,来一起看看详细的介绍吧。

vscode 的常规调试

vscode 的调试界面在窗口最左边:

最新版本的vscode,该选项默认隐藏了,需要自己打开。

首次打开调试界面时,当前没有任何调试配置,我们可以点击齿轮 icon 添加一个:

选择 nodejs 后,会自动在当前工程目录下添加 .vscode/launch.json 文件,这个文件就是 vscode 调试配置文件。

一个简易的配置文件内容为:

{
 // 使用 IntelliSense 了解相关属性。 
 // 悬停以查看现有属性的描述。
 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 {
 "type": "node",
 "request": "launch",
 "name": "启动程序",
 "program": "${workspaceFolder}/index.js"
 }
 ]
}

上面这个配置所做的工作是启动当前目录下的 index.js 文件进行调试。

我们也可以设置每次摁 F5 时自动调试当前打开的文件,只需要修改 program:

{
 "program": "${file}"
}

调试编译后的文件

想要调试编译后的文件,需要对 launch.json 文件进行设置。

vscode 要想调试编译后的代码,他需要知道哪些代码是经过编译的,且需要知道编译后的代码与编译前代码的对应关系。

其实理论上 vscode 是可以把每个要执行的文件都认为是编译后的文件,进行源文件的查找?我猜是因为性能原因,我们需要自己指定哪些文件是编译后的文件。在 launch.json 中,使用outFiles属性来指定编译后的产出文件:

{
 "version": "0.2.0",
 "configurations": [
 {
 // 省略其他设置...
 "outFiles": [
 "${workspaceFolder}/lib/*.js",
 ]
 // ...
 }
 ]
}

虽然有些麻烦,但好在我们可以使用通配符。

现在有了编译后的文件,vscode 还需要知道源文件,以及编译后文件与源文件的对应关系,听着有没有很熟悉?这个过程就是通过 sourcemap 来进行实现的。

我们需要在编译 js 文件时生成相应的 .map 文件,并在产出 js 文件后面附加 .map 文件的地址:

//@ sourceMappingURL=./index.js.map

ok,现在 vscode 在执行 js 文件时,会从 outFile 中查找是否是编译后的代码,如果是,就通过 sourcemap 映射到源代码,方便我们进行调试。

自动执行编译

现在我们的开发流程变成了:修改源代码 -> 编译源代码 -> 调试。

为了方便,我们可以设置preLaunchTask属性,该属性的作用是每次调试前执行一个前置任务,我们可以把编译过程放在前置任务里。

首先我们需要来配置一个task,task的配置文件在 .vscode/tasks.json,可以打开 command palette (??P (Windows, Linux Ctrl+Shift+P)) 选择“任务:配置任务”自动生成一个:

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "tasks": [
 {
 "label": "build",
 "type": "npm",
 "script": "build",
 "problemMatcher": []
 }
 ]
}

这里我们配置了npm run build作为前置任务,每次执行调试时都会先进行 build。

示例配置文件

{
 // 使用 IntelliSense 了解相关属性。 
 // 悬停以查看现有属性的描述。
 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 {
 "type": "node",
 "request": "launch",
 "name": "example",
 "program": "${workspaceFolder}/index.js",
 "preLaunchTask": "build",
 "cwd": "${workspaceFolder}",
 "outFiles": [
 "${workspaceFolder}/lib/*.js"
 ]
 }

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

vue引入js数字小键盘步骤详解

jQuery类名选择器(.class)使用方法详解

热心网友 时间:2022-05-15 03:27

vscode使用task.json来配置项目的构建过程。
打开命令面板(Ctrl+Shift+P)选择Run Build Task(Ctrl+Shift+B)

如果当前工作空间没有task.json配置文件此时会出现提示

选择 Configure Task Runner 自动创建task.json。该配置文件在工作空间的.vscode目录下,这个目录也是存放vscode配置的文件夹。
vscode默认的task配置文件中给出了执行tsc 和 gulp模板配置。简单介绍一下task.json的写法
{
"version": "0.1.0",

// 要使用的命令或者可执行文件的路径
"command": "tsc",

// 对应command参数,是否是一个命令,否则为执行文件路径
"isShellCommand": true,

// 是否在执行task任务时显示控制台窗口
"showOutput": "always",

// 对应command参数指定程序的参数
"args": ["-p", "src", "--allowJs", "-w"],

// 不太明白这个,基本用不到
"problemMatcher": "$tsc",
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 如何用vscode在html中写js vscode中html怎么引入js并运行 vscode中如何使用JS的选择器? VScode如何逐步运行调试javaScript? 华为nova5pro手机没声音怎么调? 有谁知道天津市津南区北闸口中学怎么样? 这个人的生平简介 八棱海棠的海棠溯源 天津津南村镇银行卡的右上角显示润禾卡是属哪类卡 《破冰行动》这么火,黄景瑜还有多少待播剧? 什么是电商仓储?怎么选择? 天津果然航空航天材料有限公司怎么样? 据说淮安历史上名人众多,每一代人就出一个大人物。后来被朝廷中一人破相,组织众人用竹签插地面(好像在 观潮一词多义30起追分哦~~!! 爱情总是美好的,英国式爱情题材的电影有哪些? 长春长影世纪城门票多少钱 财务格言 香烟用法语怎么说 怎么样让自己唱歌好听点 港口与航运管理将来能干什么 vscode已经按正常程序安装,可是不论运行什么js代码就输出这些玩意如下图... node js 怎么搭配vscode使用 vscode网页虚线代码 vscode在html文件中引用了js文件,怎么在html中提示js文件中的方法_百度... 我使用vscode写node.js代码,出现如下问题,请问如何处理? 为什么我的vscode写html 代码不能运行 Code language not supported or... 怎么把这个图标变成vscode的图标? nodejs挂在windows IIS运行的,VScode怎么可以附加调试的? VSCode怎么调试Creator 里面的jS vscode 如何运行html页面,就跟vs那样,F5!! 删除的好友怎么找回? 不小心把好友删除了,怎么找回 华为手机字体怎么调大小? 好友删除了怎么恢复? 华为手机字体大小怎么调整? 华为手机怎么调整字体大小? 怎么恢复删除掉的好友? 华为手机字体大小怎么调节? 华为手机如何调字体大小? 华为手机字体大小如何调节?