当前位置: 首页 > 网络应用技术

带您学习webpack(6)-source-map

时间:2023-03-09 01:20:34 网络应用技术

  本文对应于源代码:https://github.com/plasticine-大家

  遇到错误时,在浏览器中运行的代码是打包,压缩和丑陋的,但是浏览器开发人员工具仍然可以在源代码中找到相应的错误位置。怎么能实现?呢?让我们在本文中讨论

  在开发中的代码和最终包装不同之后,我们通常在浏览器中运行的代码不同。软件包的包装将在开发过程中压缩源代码,删除所有字符,例如空间和字符。

  这样,如果您在操作过程中遇到错误,则不知道报告哪一行。它不利于调试代码,但用于解决此问题。

  首先,很明显,它不是开发的功能,而是浏览器支持。它可以在转换的代码到源代码之间构建映射关系,从而使浏览器能够根据其源代码还原导出源代码

  要生效,您需要在包装后在代码末尾添加一行

  即配置属性,该值是文件的位置,并且还需要在浏览器的开发人员工具中打开,然后才能生效之前

  在上一篇解释模块化原理的文章中,我们在中间配置了,然后我们可以在包装的结果中看到一个。这个文件是文件

  该开发经历了三个版本。由于与源代码建立了映射关系,自然文件至少将与源代码的大小相同

  实际上,在第一版中,生成的文件的大小是源代码的十倍!这是非常令人发指的。后来,第二版进行了优化,并减少了尺寸,这是源代码大小的五倍,而目前使用的第三版减少了。

  该文件本质上是一个文件,其数据结构如下

  每个人都知道有两种模式

  在该模式下,默认使用是将我们的项目源代码放入函数并执行它,并将添加函数的结束以告知浏览器源代码映射信息信息

  上述代码是包装后结果的一部分。当浏览器执行功能时,最终注释知道在哪里可以找到相应的源代码。建议在模式下使用此方法,因为它是快速包装的,并且快速且快速,并且它是快速包装的,它也可以提供一定的能力,但是它不是,但不是,但是因为它不会生成相应的文件,但确实可以提供相似的功能。此外,该功能还有安全问题。不建议在生产环境中使用它

  可以生成配置以生成文件,可以将其映射到源代码上

  当需要在生产环境中知道源代码位置时,此方法适用于使用

  结合和谐的特性,当单独使用时,包装的结果是函数中的代码中写入代码中的字符串,如果将其缝合在末端,则如果更改,则缝线是一串代码。放入背面,即直接在每个函数的内部文件中编码,而无需生成单独的文件

  包装结果的功能

  此方法适用于在开发模式中需要时使用。与直接相比,它将更准确

  顾名思义,它是存储文件的内部公式方法。

  从官方文件可以看出,该方法的构建速度最慢,并且仅在构建单个文件时才适用

  与此方法相比,没有列映射,也就是说,当报告错误时,它只会告诉您哪种代码是错误的,并且不会告诉您哪个是错误的。如果您有很高的要求,则可以使用此方法。毕竟,您无需生成列映射,这比说更快

  官方文档不会对此方法介绍任何详细的介绍。实际上,此方法适用于已转换代码的场景。例如,它被转换了。我们还希望在报告错误消息时,我们可以在转换中与这样的编码代码相对应。如果要确保正确,则需要使用它。因为还有许多其他方法,所以还有许多其他方法。是的,只要您在官方文档中看到,有些具有此特征

  以下是一个示例。通过转换转换,然后查看可以正确对应于转换之前的代码的代码,如下所示,以下依赖关系

  下一个配置

  然后我们编写具有特征语法的函数

  使用后,转换后,代码的位置将与源代码不同,因此,如果在浏览器中仍可以找到转换之前的源代码,则意味着如果它生效,则可以看到它。在浏览器中,您可以在浏览器中看到转换。先前的源代码,这是角色。实际上,官方文档中的许多配置项目并不需要害怕。我们只需要知道每个关键字的含义,因此它们将其结合起来只是各种特征的叠加。

  它也是一个众所周知的配置项目。与删除最终注释相比,这意味着它不会生效,但是文件的正式文档中给我们的建议只有您需要知道,如果出现错误,您可以使用此方法,如果输出输出它在控制台上

  此方法可以告诉我们源代码中的哪个文件是错误的,但是它不会为我们提供浏览器中的源代码。

  在了解上述配置项目之后,就足够了。官方网站的配置项目基于这些关键字的组合。

  但是,该组合也被统治。官方文件中给出的规则如下:

  [inline- |隐藏 - |eval-] [nosources-] [cheap- [module-]]源图

  原始:https://juejin.cn/post/7098526261747646477