iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >分析JavaScript 打包产物的工具和方法是怎样的
  • 872
分享到

分析JavaScript 打包产物的工具和方法是怎样的

2024-04-02 19:04:59 872人浏览 八月长安
摘要

今天就跟大家聊聊有关分析javascript 打包产物的工具和方法是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。分析你网页中的 JavaSc

今天就跟大家聊聊有关分析javascript 打包产物的工具和方法是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

分析你网页中的 JavaScript Bundles 大小,并限制网页中的 JavaScript 数量,可以减少浏览器花费在解析、编译和执行  JavaScript 的时间。这可以加快浏览器可以开始响应用户交互行为的速度,从而改善 First Input Delay、Largest Contentful  Paint 等几个重要的性能指标。

查看 JavaScript 文件

使用 Chrome Devtools 中的 Network 看板是查看页面上下载所有 JavaScript  最简单的方法。

按 Ctrl+Shift+J 或在Mac上 Command+Options+J 打开 Devtools:

分析JavaScript 打包产物的工具和方法是怎样的

然后打开 Network 看板,在看板处于打开状态下重新刷新页面,并点击 js 筛选项筛选出所有 JavaScript 文件。

分析JavaScript 打包产物的工具和方法是怎样的

可以看到,这是一个很简单的网页,里面的代码执行逻辑也很简单,但是如果是一个把所有依赖和代码逻辑都打包在一起的JS文件就不会这么容易分析了,里面的逻辑会非常混乱,你会很难看出里面的代码逻辑。

下面是一个将许多第三方库和本身站点的js模块打包到一起的网站:

分析JavaScript 打包产物的工具和方法是怎样的

下面我们来看看分析这种代码的方法:

Show Coverage

按 Ctrl+Shift+P 或在Mac上 Command+Options+PP 打开命令菜单,搜索 Coverage然后选择  Show Coverage 命令:

分析JavaScript 打包产物的工具和方法是怎样的

然后重新加载网页,在下拉菜单中选择 JavaScript:

分析JavaScript 打包产物的工具和方法是怎样的

在表格中,我们可以很明确的看到每个文件有多少未使用的 JavaScript,你还可以单击任何 URL 进行逐行查看分析。

Webpack

尽管上面的方法能让我们看到有多少未使用的 JavaScript 但是要分析组成 Bundles的模块仍然不容易。

如果你已经在你的网站上打包JS了,那么你肯定使用了 webpack、rpllup  等模块打包器,其中很多的工具都为我们提供了分析模块的非常好的方式。

让我们看一个例子,如果你在用 WEBpack,那么你可以生成一个 stats.JSON 的文件,其中包含所有打包模块的统计信息。

分析JavaScript 打包产物的工具和方法是怎样的

虽然直接看这个文件也能看出有哪些模块,但是社区的一些工具能够帮我们更好的对模块信息进行可视化分析:

分析JavaScript 打包产物的工具和方法是怎样的

比如 webpack-bundle-analyzer,它通过分析 Webpack 打包后的产物,将其映射到 stats.json  的模块名称,然后就创建出了打包产物的交互式树形可视化。显示了每个模块的大小、Gzip解析大小以及彼此之间的关系。

分析JavaScript 打包产物的工具和方法是怎样的

SourceMap

这些打包器提供的可视化工具很棒,但是它们都属于打包器特定的工具,对于任何网站,无论使用任何打包器,都可以用  SourceMap 将打包后的代码还原成原始代码。这非常有用,因为它可以使我们在构建过程中经过混淆和转换的代码仍然可以被还原。

在压缩或打包后的 JavaScript 文件中,通过注释指向 SourceMap 文件的位置。

分析JavaScript 打包产物的工具和方法是怎样的

所有比较新的浏览器都支持源映射,使用 Chrome,你可以在 Devtools 中启用它:

分析JavaScript 打包产物的工具和方法是怎样的

当 Chrome 检测到可用的 SourceMap 时,可以还原源代码:

分析JavaScript 打包产物的工具和方法是怎样的

source-map-expoler

分析JavaScript 打包产物的工具和方法是怎样的

source-map-expoler 可以通过 SourceMap 生成打包产物的树形可视化关系,通过查看这些模块关系,我们可以发现一些问题:

分析JavaScript 打包产物的工具和方法是怎样的

比如上面的 moment、lodash 两个库,占整个文件的比重非常大,它们的大小远远超出它们的使用价值,我们可以将它们都转换成 ES  模块,则它们可以变的更小更优化

Lighthouse

分析JavaScript 打包产物的工具和方法是怎样的

使用 Lighthouse,同样可以通过 SourceMap 分析我们打包产物中未使用的 JavaScript 代码。

分析JavaScript 打包产物的工具和方法是怎样的

另外还有一个正在探索中的功能,可以利用 SourceMap 分析打包产物中在新浏览器不需要的 polifill 代码。

看完上述内容,你们对分析JavaScript 打包产物的工具和方法是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网JavaScript频道,感谢大家的支持。

--结束END--

本文标题: 分析JavaScript 打包产物的工具和方法是怎样的

本文链接: https://www.lsjlt.com/news/82381.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 分析JavaScript 打包产物的工具和方法是怎样的
    今天就跟大家聊聊有关分析JavaScript 打包产物的工具和方法是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。分析你网页中的 JavaSc...
    99+
    2024-04-02
  • Javascript和Python的新时代:IDE和打包工具的全面分析!
    随着JavaScript和Python的不断发展,它们已经成为了现今最为流行的编程语言之一。而随着技术的进步,IDE和打包工具也随之不断更新,为开发者提供更好的开发体验和更高效的工作方式。本文将从IDE和打包工具两个方面,分别对JavaSc...
    99+
    2023-06-07
    javascript 打包 ide
  • linux性能分析工具dstat是怎样的
    本篇文章给大家分享的是有关linux性能分析工具dstat是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。linux性能分析图表dsta...
    99+
    2024-04-02
  • Python和Javascript IDE和打包工具的全面比较!
    Python和JavaScript是目前最流行的编程语言之一,它们都具有广泛的应用领域和丰富的生态系统。为了更好地开发和调试Python和JavaScript应用程序,我们需要使用IDE和打包工具。本文将对Python和JavaScript...
    99+
    2023-06-07
    javascript 打包 ide
  • webpack模块化管理和打包工具的示例分析
    小编给大家分享一下webpack模块化管理和打包工具的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Webpack简介w...
    99+
    2024-04-02
  • Golang环境搭建、打包和工具链使用的方法是什么
    今天小编给大家分享一下Golang环境搭建、打包和工具链使用的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、环...
    99+
    2023-07-06
  • 提高开发效率:Python和Javascript的最佳打包和IDE工具!
    在软件开发过程中,提高开发效率是非常重要的。为了提高开发效率,我们需要使用一些工具来简化开发过程。本文将介绍Python和Javascript开发过程中的最佳打包和IDE工具,帮助开发者更快速地开发高质量的应用程序。 Python打包工具...
    99+
    2023-06-07
    javascript 打包 ide
  • 如何选择最佳的Python和Javascript IDE以及打包工具?
    Python和JavaScript是目前最为流行的编程语言之一,它们在开发Web应用程序、桌面应用程序、移动应用程序等方面都有着广泛的应用。在开发这些应用程序时,选择一款好的IDE(集成开发环境)和打包工具是至关重要的。本文将介绍如何选择最...
    99+
    2023-06-07
    javascript 打包 ide
  • Vue项目的打包方式是怎样的
    Vue项目的打包方式是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、相关配置情况一(使用的工具是 vue-cil)如果是用 vue-cli 创建的项目,则项目目录...
    99+
    2023-06-22
  • JVM监控工具用法是怎么样的
    JVM监控工具用法是怎么样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。你对JVM监控工具的用法是否了解,这里向大家描述几种,VisualVM是一种集成了多个JDK命令行工具...
    99+
    2023-06-17
  • circPrimer中环状RNA注释和引物设计工具的示例分析
    今天就跟大家聊聊有关circPrimer中环状RNA注释和引物设计工具,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。根据RNA_seq数据预测环状RNA的软件很多,但是提供环状RNA...
    99+
    2023-06-19
  • Java之Maven工程打包jar的方法是什么
    这篇文章主要介绍“Java之Maven工程打包jar的方法是什么”,在日常操作中,相信很多人在Java之Maven工程打包jar的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java之Maven工...
    99+
    2023-07-05
  • jQuery中extend()与工具方法、实例方法的示例分析
    这篇文章主要介绍jQuery中extend()与工具方法、实例方法的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:使用jQuery的时候会发现,jQuery中有的函...
    99+
    2024-04-02
  • Mysql数据迁徙方法工具的示例分析
    这篇文章给大家分享的是有关Mysql数据迁徙方法工具的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。数据迁徙是每个后端都会遇到的工作之一,本文介绍了一些常见的数据迁徙方法...
    99+
    2024-04-02
  • 2020年您应该知道的7种前端JavaScript趋势和工具是怎样的
    2020年您应该知道的7种前端JavaScript趋势和工具是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。JavaScript世界正在...
    99+
    2024-04-02
  • web工厂方法的结构是怎样的
    本篇内容介绍了“web工厂方法的结构是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!结 构光从类图的角度来看,工厂方法和抽象工厂的类图...
    99+
    2023-06-19
  • Java和JavaScript打包:是否有更好的解决方案?
    随着Web应用程序的发展,JavaScript和Java成为了最受欢迎的编程语言之一。这两种语言都有着很强的可扩展性和灵活性,但在应用程序打包方面,它们之间存在一些区别。本文将探讨Java和JavaScript打包的不同之处,并介绍一些更...
    99+
    2023-08-18
    响应 打包 javascript
  • 自然语言处理工具包HanLP的Python接口是怎么样的
    今天就跟大家聊聊有关自然语言处理工具包HanLP的Python接口是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。pyhanlp: Pyth...
    99+
    2024-04-02
  • Java日期操作方法工具类的示例分析
    这篇文章将为大家详细讲解有关Java日期操作方法工具类的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例讲述了Java日期操作方法工具类,具体如下:package com.gclo...
    99+
    2023-05-30
    java
  • CentOS ip_conntrack中表满和丢包的解决方法是怎样的
    本篇文章给大家分享的是有关CentOS ip_conntrack中表满和丢包的解决方法是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。那么,为什么会出现 ip_connt...
    99+
    2023-06-10
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作