为什么要使用jquery map?

为什么在以下情况下使用jquery.min.map

 jquery = 242 ko jquery.min + jquery.min.map = 83 + 125 = 208 ko (the map is even greater than the library) 

如果我们删除注释,我们将得到一个更容易阅读(和调试)的小jquery。

那么,为什么使用map如果它只会增加超过100 ko和额外的请求?

什么是最佳做法?

截图

仅在开发人员工具处于活动状态时才加载源映射。 浏览器不会为应用程序的用户加载它们。

编辑 :应该提到有两种类型的源地图。 一个是外部文件,在实际文件中有一个链接,另一个嵌入在主文件中。 浏览器实际上必须为第二种类型加载整个文件(即包括嵌入的源映射)。

有关详细信息,请查看https://www.html5rocks.com/en/tutorials/developertools/sourcemaps/ 。

这被称为源地图。 这个答案详细介绍了它们是什么,它们如何工作以及为什么要使用它。

编辑

从以上SO链接中为后代提取答案。 由@aaronfrost回答

.map文件适用于已缩小的js和css文件。 它们被称为SourceMaps。 当你缩小文件时,比如angular.js文件,它需要数千行漂亮的代码,并将它变成只有几行丑陋的代码。 希望当您将代码发送到生产环境时,您使用的是缩小代码而不是完整的未经编辑的版本。 当您的应用程序投入生产并出现错误时,源映射将帮助您获取丑陋的文件,并允许您查看代码的原始版本。 如果你没有源图,那么任何错误都会显得神秘莫测。

CSS文件也是如此。 获取SASS或LESS文件并将其编译为CSS后,它看起来就像它的原始forms。 如果启用了源映射,则可以看到文件的原始状态,而不是已修改的状态。

它是为了什么?

要取消引用uglified代码

开发人员如何使用它?

您可以使用它来调试生产应用程序。 在开发模式中,您可以使用完整版的Angular。 在生产中,您将使用缩小版本。

我应该关心创建一个js.map文件吗?

如果您关心能够更轻松地调试生产代码,那么您应该这样做。

它是如何创建的?

它是在构建时创建的。 有一些构建工具可以为您构建.map文件,就像其他文件一样。 https://github.com/gruntjs/grunt-contrib-uglify/issues/71