当前位置: 首页 > 知识库问答 >
问题:

如何使用JavaScript源映射(.map文件)?

弘涛
2023-03-14

最近我看到了带有的文件。js.map扩展随一些JavaScript库(如Angular)一起提供,这在我脑海中引起了一些问题:

  • 是干什么用的?为什么Angular的人关心传递一个.js.map文件?
  • 我如何(作为一个JavaScript开发人员)使用angular.min.js.map文件?
  • 我应该关心为我的JavaScript应用程序创建.js.map文件吗?
  • 它是如何被创建的?我看了一下angular.min.js.map,里面充满了奇怪格式的字符串,所以我假设它不是手动创建的。

共有3个答案

颛孙凯定
2023-03-14

我只想集中讨论问题的最后一部分;如何创建源映射文件?通过列出我知道的可以创建源映射的构建工具。

  1. Grunt:使用插件Grunt contrib uglify
  2. 咕噜:使用插件咕噜咕噜
  3. 谷歌闭包:使用参数——创建源地图

咸亦
2023-03-14

>

  • 不要链接你的js。在索引中映射文件。html文件(不需要)

    缩小工具(好的)添加注释到您的.min.js文件:

    //# sourceMappingURL=yourFileName.min.js.map
    

    这将连接您的。映射文件。

    当min.js和js.map文件准备好...

    Chrome:打开开发工具,导航到源选项卡。您将看到源文件夹,其中保存了未缩小的应用程序文件。

  • 滑景胜
    2023-03-14

    . map文件用于已经缩小的JavaScript和CSS(现在还有TypeScript)文件。它们被称为源地图。当您缩小一个文件时,比如angular.js文件,它需要数千行漂亮的代码,然后把它变成几行丑陋的代码。希望当您将代码发送到生产环境时,您使用的是缩小的代码,而不是完整的未缩小的版本。当您的应用程序处于生产状态并出现错误时,源代码映射将帮助获取丑陋的文件,并允许您查看代码的原始版本。如果您没有源映射,那么任何错误充其量看起来都是神秘的。

    CSS文件也是如此。一旦您获取一个Sass或更少的文件并将其编译为CSS,它看起来与原始形式完全不同。如果启用sourcemaps,则可以看到文件的原始状态,而不是修改后的状态。

    因此,请按顺序回答您的问题:

    • 这是干什么用的?取消对丑陋代码的引用

    我希望这是有道理的。

     类似资料:
    • 作为AST输出的一部分,编译器会提供AST某个节点以应的源代码的范围。这可以被用来做基于AST的静态代码错误分析,可以高亮本地变量,和他们对应使用的调试工具。 此外,编译器也可以生成字节码到生成指令源代码的范围映射。这对静态分析工具来说非常重要,它们在字节码级别分析,可以来在调试工具内显示对应代码位置,或支持断点操作。 上述的源代码映射都使用整数来引用源代码。

    • 问题内容: 最近,我看到一些JavaScript库(例如Angular)附带了具有扩展名的文件,这在我脑海中引发了几个问题: 这是为了什么 为什么Angular的员工会关心传递文件? 我(作为JavaScript开发人员)如何使用该文件? 我应该关心为JavaScript应用程序创建文件吗? 如何创建?我看了一下,里面充满了格式奇怪的字符串,所以我认为它不是手动创建的。 问题答案: 该文件是为和(

    • Java在Map接口中提供了通用支持。 语法 (Syntax) Set<T> set = new HashSet<T>(); 哪里 set - Set Interface的对象。 T - 在set声明期间传递的泛型类型参数。 描述 (Description) T是传递给通用接口Set及其实现类HashSet的类型参数。 例子 (Example) 使用您选择的任何编辑器创建以下Java程序。 pa

    • 主要内容:集合映射实例,程序输出结果是一个接口,其中一个唯一键与每个值对象相关联。 因此,搜索,更新,删除等操作都是基于键来进行的。 完整的项目目录结构如下所示 - 集合映射实例 在这个例子中,我们将一个对象嵌入到一个实体类中,并将其定义为一个集合类型 - 。 这个例子包含以下步骤 - 第1步: 在包下创建一个实体类,这个类包含员工, 和嵌入对象(员工地址)。注解 表示嵌入对象。 文件:Employee.java 的代码如下所示 -

    • Scala 集合 Map(映射)是一种可迭代的键值对(key/value)结构。 所有的值都可以通过键来获取。 Map 中的键都是唯一的。 Map 也叫哈希表(Hash tables)。 Map 有两种类型,可变与不可变,区别在于可变对象可以修改它,而不可变对象不可以。 默认情况下 Scala 使用不可变 Map。如果你需要使用可变集合,你需要显式的引入 import scala.collecti

    • 原文: http://exploringjs.com/impatient-js/ch_maps.html 在 ES6 之前,JavaScript 没有字典的数据结构和(ab)使用的对象作为从字符串到任意值的字典。 ES6 带来了映射,这些映射是从任意值到任意值的字典。 30.1。使用映射 Map的实例将键映射到值。单个键值映射称为 _ 条目 _。映射记录创建订单条目并在返回时遵守该订单,例如密钥或