如何在firebug中调试缩小的JS?

Kum*_*mar 61 javascript debugging firefox firebug


我有一个网页,其中包含大量的缩小JS文件.网页在我的本地网络上工作得非常好,但在登台时抛出了一些JS错误.JS中存在一个问题,我不想调试它.当我在Firebug的脚本标签中加载JS时,它出现在一条长水平线上.在Firebug中是否存在扩展或美化脚本以进行调试的方法?我知道我可以使用jsbeautifier,但他们不会帮助我.我无法将扩展文件上传到CDN,违背了使用CDN的目的.

需要注意的一点,
a)我无法控制服务于JS的盒子,它在CDN上,我提到了它.
b)我可以使用美化器等但是这会帮助我在运行时调试脚本吗?恕我直言,没有
c)受NDA和其他法律事务的约束,我无法共享脚本,但它是一个通用的问题,你可以用一个缩小的jQuery来遇到它

Jon*_*yce 55

更新:现在有一个firebug扩展,可以美化JavaScript:

https://addons.mozilla.org/en-US/firefox/addon/javascript-deminifier/

它在Firefox 12.0中非常适合我.

相信这个答案可以发现它.


rsp*_*rsp 50

  1. 美化你的剧本
  2. / etc/hosts或本地DNS中添加CDN主机以将其解析为您自己的Web服务器
  3. 在所述Web服务器上托管美化版本和所需的一切
  4. Firefox和Chrome(此编辑版本)都支持使用检查{}器中提供的按钮来美化脚本.

  • 这是一个古老的答案.我的答案如下(加载缩小的文件并按下{}按钮)现在适用于Firefox 31+并且更加简单. (3认同)

Kyl*_*mus 29

只需加载缩小的文件并按下{}底部的按钮即可美化,使断点和其他调试成为可能.(也适用于Chrome)

  • 哦,Firefox也有,我没注意到. (2认同)

小智 14

这是一个常见问题,Chrome开发团队最近提出了一个优雅的解决方案,他们称之为源地图 - 请参阅http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/了解更多信息,我想你会发现这正是你(和我们其他人)一直在呼喊的!:)


JB *_*aux 7

这是一种解决方法,但它可以提供帮助.我们的想法是,我们将用您机器上的文件替换来自服务器的文件.
这适用于任何浏览器.
第一次(可能是15分钟)需要一些设置,但是它可以非常方便.
它还可以帮助测试实时/生产环境中的错误修复.

  1. 获取Fiddler(它是一个Web调试代理),安装它,运行它.
    http://www.fiddler2.com/fiddler2/
    (安装后重启浏览器以获取Fiddler扩展)
  2. 如果您调试HTTPS网站,请先检查一下:http:
    //www.fiddler2.com/Fiddler/help/httpsdecryption.asp
  3. 从现在开始,您应该在Fiddler(左侧的"Web会话"窗格)中看到您的浏览器所做的所有下载,包括JS文件.
    如果没有,请检查:Fiddler不显示会话
  4. 在列表中找到要调试的文件(Ctrl + F有效)
  5. 单击该文件.然后:
    • 从检查器窗格(textView选项卡)获取文件内容,美化它,保存到本地计算机上的文件
    • 或者可以访问包含源代码的文件(例如:来自源代码控制)
  6. 转到AutoResponder选项卡(左上窗格).
    选中"启用自动回复"复选框.
    选中"不匹配的请求直通"复选框.
  7. 将文件从左窗格拖到右窗格(底部的预填充规则编辑器)
  8. 使用本地文件的路径设置其他字段
  9. 单击"保存"按钮
  10. 重新加载页面并享受调试会话.

Fiddler可以做更多的事情,但这个用例回答了最初的问题.


小智 7

考虑改变!

Firefox w/Firebug是我最喜欢的JavaScript调试方法近一年,但我最近转向Google-Chrome的Developer-Tools,它更加优越.

  • Chrome支持JavaScript资源的On-The-Fly(内置功能)美化 在此输入图像描述

  • 一旦美化,您就可以自由地调试JavaScript资源文件,因为它是从Web服务器上"美化"下载的.通过单击行号设置断点. 在此输入图像描述

  • 其中最的极其强大的功能,
    就是一旦你停止了破点,你可以自由地执行命令(使用控制台)在同一范围内你是在断裂点.在Firefox中你不能这样做. 在此输入图像描述 它很容易调试(甚至是匿名函数),你永远不会回到Firefox.
    试试吧!