如何在chrome里给JavaScript代码添加chrome浏览器断点调试试

chrome浏览器如何断点调试异步加载的JS
投稿:daisy
字体:[ ] 类型:转载 时间:
chrome浏览器不仅仅可以用来上网,对于开发人员来说,它更像是一款强大的开发辅助工具。今天这篇文章给大家分享在chrome浏览器如何断点调试异步加载的JS,有需要的可以参考借鉴。
在我们日常开发中,常常利用chrome强大的控制台Sources下面进行代码断点调试,但是通过$.getScript等异步加载JS的方式在Sources里面就是找不到,那如何进行debug断点调试呢?下面来一起看看。
这是我们用Sources断点调试的实例图:
图中我们可以看到,在index.js中我们通过$.getScript引入test.js,看看表现如何:
我们在Network中看到test.js已经成功引入,但是它却属于XHR类请求,这样我们在Sources必然找不到它。
不出所料,Sources里果然没有发现test.js的踪迹!高潮来了,那还怎么进行断点调试呢???
我知道两个方案,先来最简单的:
方案一: 在test.js代码的头部或者尾部加上//@ sourceURL=test.js,然后在(no domain)里面找到它进行调试,看看结果:
方案二: 把$.getScript这种异步的方式换成创建script标签同步加载的方式,直接上图:
控制台断点对我们进行代码检查、功能检测、数据查看等等需求太有用了,我们尽量用断点替换那烦人的console.log吧,以上就是这篇文章的全部内容,希望对大家的学习和工作能有所帮助,如果有疑问大家可以留言交流。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具求助,关于chrome的断点调试【javascript吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:146,976贴子:
求助,关于chrome的断点调试收藏
我是纯新手,不太会用断点如何获得里面function的arguments对象?(function(){var regexp = new RegExp(/[a-z]\d{2}/g)var s = "a12a12a12a12"alert(s.replace(regexp,function (){return arguments[0].replace(/[a-z](\d)/g,"$1")}));})()
记得有三个参数吧,这样写能断点么?
debugger对象+console.log挽尊于Windows NT 6.2.9200 Windows 8 MSDN 版 高富帅 Chrome 浏览器
登录百度帐号推荐应用使用Visual Studio Code对Node.js进行断点调试 - CNode技术社区
情绪就是能量。
在开发的过程中,几乎不可能一次性就能写出毫无破绽的程序,断点调试代码是一个普遍的需求。
作为前端开发工程师,以往我们开发的JavaScript程序都运行在浏览器端,利用Chrome提供的开发者工具就可以方便的进行源码断点调试。其步骤有四,详情不表,粗略概括如下:
打开Chrome开发者工具;
点击进入Sources标签页,在页面的左侧就能看到JS代码的目录;
找到需要设置断点的源文件,在需要中断的哪行代码左侧单击鼠标左键,就可以设置断点,如果你的代码是uglify过的,则需导入相应的source-map来映射源码。
刷新页面(如果设置断点的位置是一个事件处理函数,则直接触发这个事件即可),代码运行到断点处的时候,程序就会挂起,这时候用鼠标hover就可以查看当前各个变量的数值,并以此判断程序是否正常运行了。
但是,当我们用JavaScript开发运行在服务端的Node.js程序时,Chrome开发者工具暂时派不上用场了。虽然也有办法实现在Chrome上调试,不过这不是今天我们讨论的范围。
还有,说用console.log的那位同学,请你先不要说话…
实际上,许多IDE都集成了Debug的功能,包括较新版本的WebStorm就对Node.js调试支持得很好。
但是很多开发人员会觉得IDE太重,有没有更轻量级一些的工具来实现断点调试呢?今天就要给大家安利一下在VScode上进行断点调试的方法。
VScode除了out-of-box支持JavaScript和TypeScript,还支持Node.js调试,简直就是为前端工程师而生的,对不对…
要调试Node.js的前提是,你的电脑上已经安装了Node.js的环境。
什么?怎么安装Node.js?给你一点小提示:打开百度,搜索【安装Node.js】,好了,不能提示更多了。
本文以调试express应用为例,并假设您已经安装好了Node.js运行环境。
创建express应用
我们使用express-generator创建一个新的express应用。
1.在全局安装express-generator
a.打开终端,输入:
npm install express-generator -g
MacBook用户全局安装的时候记得在前面加上sudo
b.安装完成之后,在终端输入
express -v
如果看到下图所示的信息,说明已经安装成功了。
2.生成express应用目录,假设这个应用的名称为myapp
在终端输入
express myapp
在当前目录就生成了一个myapp目录,目录结构如下:
可以看到,这个小应用已经五脏俱全,有Node服务器配置,公共资源文件夹,师徒文件夹,以及路由配置。
3.运行express应用
a.在终端中输入指令
`cd myapp && npm install`
就可以进入项目目录并安装所有依赖,这一步可能需要比较长的时间,耐心等待安装完成。
b.然后输入指令
`npm start`
就可以启动应用。
这时我们在浏览器中访问localhost:3000,即可看到如下页面:
这就说明express应用可以正常运行,接下来我们就可以使用VScode调试代码了。
提示:为了避免调试时的端口冲突,我们先回到刚刚运行express应用的终端,ctrl+c关闭正在运行的express应用。
调试express应用
1.进入VScode界面,点击界面左边的第四个类似虫子的按钮,进入调试界面:
2.点击页面上方“没有配置”下拉菜单,选择“添加配置”。
3.选择Node.js环境。
4.选择完成之后,在项目的根目录中会生成一个.vscode的目录,这个目录中存放了各种各样的VScode编辑器的配置。现在这个目录中就包含了一个文件名为lanuch.json的配置文件,配置文件的内容如下:
其中最重要的配置项就是“Program”字段,这个字段定义了整个应用的入口,开启调试器的时候会从这个入口启动应用。
我们发现当前这个字段已经有值了,不要慌,那是因为VScode在初始化这个配置文件的时候,会查看package.json中是否有包含了键名为start的scripts,如果有的话,就会把start配置的内容作为“program”字段的值。
5.点击开始调试按钮(绿色三角形),就可以开始调试。这时界面上方就会出现一个调试控制的面板,页面右下方会出现一个调试控制台,可以查看你输出的信息,在界面下放会出现一个状态栏,当前的橘黄色表示应用在正常运行,如下图所示:
6.我们再次在浏览中访问localhost:3000,会发现页面可以打开,应用已经正常启动了。
7.接下来我们开始给应用设置断点。我们打开myapp/routes/index.js文件,这个文件配置了应用根路径的路由,当前的处理是返回一个页面,传入字符串&Express&作为视图的参数。
8.我们用鼠标在行号6的左边单击左键,就可以设置一个断点。注意,添加断点之前要先关闭调试,关闭的方法是点击界面上方的调试控制面板中的停止按钮(红色正方形)。
9.设置完断点之后,重新启动调试,然后在浏览器中访问localhost:3000,这时候,断点的形状发生了变化,程序停留在了断点,调试控制面板的按钮也发生了变化,从左到右依次是单步跳过,单步调试,单步跳出,重启,停止调试。这几个都是常见的断点调试指令。设置完断点之后,重新启动调试,然后在浏览器中访问localhost:3000,这时候,断点的形状发生了变化,程序停留在了断点,调试控制面板的按钮也发生了变化,从左到右依次是单步跳过,单步调试,单步跳出,重启,停止调试。这几个都是常见的断点调试指令。
10.在界面的左边,可以查看当前上下文环境,也可以设置变量监听。
11.将鼠标防止在断点前的变量或者参数上,也可以查看该变量当前的数值,体验与Chrome开发者工具的调试一致。
Well,开启VScode的Node.js调试之旅吧!!
那个console.log的同学,你可以说话了…
作者:方浩,转载请注明出处!!!
我的微信公众号:webcoding ,欢迎扫码关注
楼主辛苦了,对新手应该有些帮助
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
获得人生中的成功需要的专注与坚持不懈多过天才与机会。 ——C.W. Wendte
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
然后,点击“Resources”标签,如图所示:&然后点击“enable resource tracking”,导入源文件,并且选择“Script”标签,如下:&添加断点的方法就是在所在的代码行的数字上双击即可!!debug控制方式:首先是刷新调试的网页,即重新载入代码。此时弹出Jscript标签页面,并且中止在断点处。如下:&&
阅读(25310)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_087069',
blogTitle:'如何使用chrome自带的Javascript调试工具',
blogAbstract:'将写好的Javascript代码用chrome打开。在页面,单击右键,并且选择“审查元素”。弹出窗体,如图所示:然后,点击“Resources”标签,如图所示:&然后点击“enable resource tracking”,导入源文件,并且选择“Script”标签,如下:',
blogTag:'chrome,调试工具,javascript,代码,标签',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:5,
publishTime:7,
permalink:'blog/static/',
commentCount:1,
mainCommentCount:1,
recommendCount:4,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'获得人生中的成功需要的专注与坚持不懈多过天才与机会。 ——C.W. Wendte',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 chrome断点调试js 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信