search

Home  >  Q&A  >  body text

javascript - 一个项目上线后,发现 JS 或者 CSS bug 了,该如何进行调试?

此项目的 JS 和 CSS 经过压缩,直接使用 chrome 调试工具看到是乱码,请问这个该怎么办?

伊谢尔伦伊谢尔伦2821 days ago597

reply all(8)I'll reply

  • 天蓬老师

    天蓬老师2017-04-10 14:54:08

    如果是自己的项目可以,可以在发布的时候生成三份东西
    1. 源代码,比如 app.js
    2. 压缩后的代码,比如 app.min.js
    3. Sourcemap文件,比如app.js.map,这个文件保存了 2->1 映射

    在Chrome等现代浏览器中你可以开启Sourcemap功能,这样你调试app.min.js的时候就像调试app.js一样方便

    参考文章:

    阮一峰的博文
    http://www.ruanyifeng.com/blog/2013/01/javascript_source_map.html
    英文
    http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 14:54:08

    代理。Fiddler。

    reply
    0
  • PHPz

    PHPz2017-04-10 14:54:08

    只是简简单单的文件压缩,可以直接控制台查看的。在source面板中找到对应的文件,点击{}就还原了。

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 14:54:08

    前面说的那些方法大多只能处理压缩的文件,无法处理混淆后的文件。

    刚出炉的一片文章:使用 charlesproxy 的 map local 功能,这个功能可以在当前环境中用你的本地文件替代你的线上文件。

    http://blog.icodeu.com/?p=709

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 14:54:08

    想用未压缩的文件调试:

    • 用fiddler代理到本地的文件,通过调试本地的文件debug

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 14:54:08

    难道没有 source map 吗?

    • JavaScript Source Map 详解 - 阮一峰

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 14:54:08

    这时候就需要 .map 文件了,有些压缩工具同时导出 .map 文件,提供从压缩文件到源文件的索引。chrome 开发者工具支持通过 .map 映射到源文件的行,从而进行 debug。

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 14:54:08

    +1 简单的查看在chrome控制台 sources选项下面查看页面的底部栏有个 {} ,点击以后,哗啦~

    reply
    0
  • Cancelreply