- 是否应在生产环境中使用源映射?除了调试以外,它们还提供其他好处吗?
- 由于额外的服务器往返次数,它们是否会影响应用程序加载时间?浏览器是否足够聪明,可以
.map
在加载和呈现应用程序后加载资产? - 如果浏览器找不到
.map
资产(404
错误),会对性能产生影响吗?我应该关心修复它吗?
请注意,.map
如果要进行复杂的concat / minimize构建步骤,则修复最后一个可能不如提供资产那么容易。
.map
在加载和呈现应用程序后加载资产?.map
资产(404
错误),会对性能产生影响吗?我应该关心修复它吗?请注意,.map
如果要进行复杂的concat / minimize构建步骤,则修复最后一个可能不如提供资产那么容易。
.map
文件;@others,也许我只是想澄清一下,除调试之外没有其他好处。但是,既然有这么多的js库期望使用.map
,例如AngularJS
,我们是否通过发明sourcemaps给Web带来了不必要的负担?
Answers:
使用Charles Web Proxy进行的快速测试显示,仅在打开开发人员工具的情况下才加载源地图。如果您加载的页面没有打开开发工具的,则不会有http请求提供源映射。
在Chrome 43和Firefox 38中,行为相同。
因此看来它们不会对生产环境造成影响。
从HTML5 Rocks:
基本上,这是将合并/缩小的文件映射回未构建状态的一种方法。在进行生产时,连同最小化和合并JavaScript文件,您将生成一个源映射,其中包含有关原始文件的信息。在生成的JavaScript中查询特定的行号和列号时,您可以在源映射中进行查找,以返回原始位置。开发人员工具(当前是WebKit每晚构建的版本,Google Chrome或Firefox 23+)可以自动解析源地图,并使其看起来好像您正在运行未缩小和未合并的文件。
http://www.html5rocks.com/zh-CN/tutorials/developertools/sourcemaps/