Fundebug支持通过Source Map还原错误栈(stacktrace)

Fundebug支持使用Source Map还原真正的错误位置。这样的话,开发者能够迅速定位出错的源代码。另外,Fundebug还能够展示出错的代码块,帮助开发者更快地解决问题。

Paste_Image.png

为什么需要压缩代码?

部署JavaScript脚本前,开发者通常会使用UglifyJS2等工具对代码压缩变换:

  • 压缩,减小体积。比如jQuery 1.9的源码,压缩前是252KB,压缩后是32KB。
  • 多个文件合并,减少HTTP请求数。
  • 其他语言编译成JavaScript。最常见的例子就是CoffeeScript。

在生产环境中使用压缩的代码,能够有效加快访问速度。

为什么需要Source Map?

压缩代码的错误的位置信息(文件,行号和列号)已经失真,开发者很难定位源代码的位置。而且,压缩代码的变量以及函数名称都会进行变换,这也增加了开发者Debug的难度。

Source Map是一个JSON文件,其中包含了代码转换前后的位置信息。给定一个转换之后的压缩代码的位置,就可以通过Source Map获取转换之前的代码位置,反过来也一样。

Fundebug支持使用Source Map还原真正的错误位置。这样的话,开发者能够迅速定位出错的源代码。另外,Fundebug还能够展示出错的代码块,帮助开发者更快地解决问题。

example

如何生成Source Map?

各种主流前端任务管理工具,打包工具都支持生成Source Map。具体请参考Fundebug文档 - 生成Source Map:

如何使用Source Map?

默认情况下,Fundebug会根据压缩代码中的sourceMappingURL下载Source Map文件,用户仅需要将生成的Source Map文件部署在服务器上,不需要额外操作

如果用户不希望公开Source Map,则可以主动上传Source Map文件。Fundebug提供了两种不同的上传方式:

通过Fundebug的前端UI上传

  1. 进入『控制台』
  2. 选择『项目设置』
  3. 点击『Source Map』
  4. 选中需要上传的Source Map文件(支持上传多个Source Map文件)
  5. 点击『上传』

通过Fundebug的API上传

curl https://fundebug.com/javascript/sourcemap/upload \
     -X POST \
     -F apikey=195497e8297718ef87304f4d6f9783e4718e1d97200f87f28c7a28e34a6c1461 \
     -F sourceMap=@dist/app.js.map

其中:

  • apikey为项目的apikey
  • sourceMap为需要上传的Source Map文件

具体请参考Fundebug文档 - 上传Source Map:

参考链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,302评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,933评论 18 139
  • 1.茧 茧 已生我心 厚长如盾 它筑起栅栏 它的功能本是 ——自我保护 如今 阳光 已爬越不过来 2.挤风 冷的信...
    第四巫阅读 496评论 2 2
  • 文/言午鹅 在路上遇见了你 那时风并没有吹起 没有彼此也没有记忆 难懂你总寻着云的飘迹 如果在那里有你的小秘密 请...
    源河阅读 446评论 0 0
  • 2017.2.13咖啡冥想: 一时间:2月13日开始第二个21天(第1天) 二:首先回想什么是空性? 现在我的手上...
    Jasmine119阅读 385评论 0 0