npm 包 unwrap-phases 使用教程

前言

在开发 Web 前端项目时,我们经常引入各种第三方库或框架,而这些库或框架会依赖其它的第三方库,从而形成一个庞大的依赖树。在项目构建和部署时,需要将这些依赖包打包成一个整体,以便在客户端执行时能够一次性加载并使用。

但是,在打包依赖包时,有时我们需要将一些依赖包分离出来,比如用 CDN 加速,比如因为这些包比较大,不需要每次都被加载等等。这时我们就需要使用 npm 包 unwrap-phases。

简介

unwrap-phases 是一个可以将依赖包解开的 webpack 插件,其将整个依赖树进行递归分析,将所有符合指定条件的依赖包(比如体积超过 200kb)从打包文件中剥离出来并打包成单独的文件,以便按需加载。这也就是所谓的「unwrap」,即解开。

安装

使用 npm 安装:

--- ------- ------------- ----------

使用方法

在 webpack 配置文件中引入 unwrap-phases:

----- ------------------ - -------------------------

然后在 plugins 中添加:

-------- -
  --- --------------------
    -- ------ --
    ------- -------- -- ------------- - --- - ----- -- ------- ----- ---
    -- ----
    ------- -
      ----- -------------------- -------- -- ----
      --------- --------------- -- -----
      -------------- ------------ -- ----- ---
    --
    -- --------
    ----------- --------------------------- -- --- --
    -------------- ------------------------------ -- -- ----- --
    ----------- ------ -- -
      -- ----------
    --
    -- ------
    ---- -
      ----- ----- -- ------
      ------ ------ -- ---- ----- --
      ------ --------- -- ----
    - 
  --
-

在这个配置中,我们指定了 unwrap 的条件是模块大小超过 200KB,即 module.size() > 200 * 1024,通过这个条件过滤符合条件的模块进行 unwrap,并将输出文件输出到指定目录。同时我们还指定了一些可选的配置项,如 publicPath、chunkFilename、formatPath 和 log 等。

示例代码

下面是一个简单的示例代码:

----- ---- - ----------------
----- ------------------ - -------------------------

-------------- - -
  ------ -
    ----- -------------------- ------ -----------
  --
  ------- -
    ----- -------------------- --------
    --------- --------------
  --
  -------- -
    --- --------------------
      ------- -------- -- ------------- - --- - -----
      ------- -
        ----- -------------------- --------
        --------- ---------------
        -------------- ------------
      --
      ----------- ---------------------------
      -------------- ------------------------------
      ----------- ------ -- -
        ------ ----- - ----------------------------- --- - ------
      --
      ---- -
        ----- -----
        ------ ------
        ------ ---------
      - 
    --
  -
--

结语

unwrap-phases 可以方便我们按需加载依赖包,从而减小打包文件体积,加快页面加载速度。通过本教程的介绍,希望读者可以掌握使用 unwrap-phases 的方法,并成功应用到自己的项目中。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005565d81e8991b448d3352


猜你喜欢

  • npm 包 rollup-plugin-lessify 使用教程

    前言 在前端开发中,我们经常会使用 Less、Sass、Stylus 等预编译器来编写样式文件,以增加代码的可维护性和复用性。而当我们使用 Rollup 进行打包时,我们可能需要将这些预编译的样式文件...

    2 年前
  • npm 包 fat-cat 使用教程

    在 web 开发中,使用 npm 包是非常常见的一种方式。而 fat-cat 是一个功能强大的 npm 包,它可以实现一些非常实用的功能。本文就为大家详细介绍如何使用这个 npm 包,帮助您的前端开发...

    2 年前
  • npm 包 aws-dynamodb-collection 使用教程

    简介 aws-dynamodb-collection 是 AWS DynamoDB 数据库的一个 npm 包。它提供了一组实用的方法,用于从 DynamoDB 数据库中读取和写入数据。

    2 年前
  • npm 包 cordova-plugin-ios-base64 使用教程

    在移动端应用开发中,我们不可避免地需要处理 Base64 编码和解码。cordova-plugin-ios-base64 可以帮助我们在 Cordova/PhoneGap 项目中更方便地使用 iOS ...

    2 年前
  • npm 包 ember-cli-app-version-file 使用教程

    在前端开发中,有时候需要在应用程序的某些部分中显示应用程序的版本号。可以通过手动将版本号硬编码到应用程序中来实现这一点,但是当我们更新应用程序时,需要手动更新此版本号。这种方法很麻烦,而且容易出错。

    2 年前
  • npm 包 magic-status-bar 使用教程

    前言 在前端开发中,常常需要设计或者使用状态栏,如音乐播放器的状态栏,游戏中的血条等等。在过去,我们可能需要自己手动开发,但现在,有一个非常方便的 npm 包 magic-status-bar,可以快...

    2 年前
  • npm 包 @mariotacke/color-thief 使用教程

    色彩对于设计和前端开发来说非常重要,在设计过程中,我们需要使用各种颜色来表现画面,而在前端开发过程中,我们也需要获取一些图片的主要颜色来进行各种样式的设定。在这种情况下,我们就需要一款可以方便快捷地获...

    2 年前
  • npm包entities-gsm使用教程

    在前端开发中,我们难免需要处理HTML或XML中的转义字符,以保证网页能够正常显示。entities-gsm是一个npm包,它可以帮助我们实现字符串编码和解码,从而避免处理转义字符时出现的问题。

    2 年前
  • npm 包 crfsa-core 使用教程

    npm 是 Node.js 的包管理工具,可以方便地管理项目依赖的第三方库。其中,crfsa-core 是一款适用于前端应用程序的 JavaScript 库。在本篇文章中,我们将介绍 crfsa-co...

    2 年前
  • npm 包 fa-link-signer 使用教程

    在前端开发中,使用 npm 包来加速开发是常见的方式,而 fa-link-signer 是一个功能强大的 npm 包,可以很容易地对链接进行签名,这符合 web 安全的需求。

    2 年前
  • npm包 in-view-js使用教程

    什么是in-view-js? in-view-js是一款用于检测元素是否在屏幕可见区域内的JavaScript库。它可以帮助开发人员更加高效地创建各种滚动效果,例如滚动加载、滚动触发动画等。

    2 年前
  • npm 包 logbone 使用教程

    在现代的 Web 开发领域,前端项目的体量和复杂度在不断地增加。这种增长给开发者带来了许多挑战,其中之一就是如何有效地调试代码。在这个过程中,日志系统扮演着至关重要的角色,因为它可以帮助开发者了解代码...

    2 年前
  • npm 包 is-tld 使用教程

    前言 在开发前端项目时,我们经常使用到各种第三方库和工具。其中,npm 是目前最受欢迎的包管理工具之一。npm 上有很多有用的包,is-tld 就是其中之一。is-tld 是用于判断顶级域名的 npm...

    2 年前
  • npm 包 phantom-storm 使用教程

    如果你是前端开发人员,你想要编写自己的 web 自动化测试脚本,那么 phantom-storm 就是一个非常不错的 npm 包。本篇文章将为您提供使用教程,包括安装、基本使用以及高级使用技巧。

    2 年前
  • npm 包 `sack.js` 使用教程

    介绍 sack.js 是一个轻量级的 JavaScript 库,可用于创建基于 WebSocket 的实时应用程序。 它遵循 Node.js 的事件驱动异步编程模式,并且支持客户端和服务器端应用程序。

    2 年前
  • npm 包 healthprobe 使用教程

    在前端开发中,我们常常会遇到某个依赖库或服务突然宕机或失效的情况。这时就需要一个工具来监测服务的健康状态,以便及时发现并解决问题。这时候,一个好用的 npm 包就显得尤为重要了。

    2 年前
  • npm 包 homebridge-daiken-ir-controller 使用教程

    简介 摩托罗拉,一个跨国通信技术公司。 安装 在命令行中使用以下命令安装 homebridge-daiken-ir-controller 插件: --- ------- -- ------------...

    2 年前
  • npm 包 test-fcm 使用教程

    简介 Firebase Cloud Messaging(简称FCM)是 Google 提供的一种跨平台的消息推送服务,可用于向移动设备、Web应用程序和桌面应用程序发送推送通知和消息。

    2 年前
  • npm包 Ember Data Mirage 使用教程

    在使用Angular、React、Vue等前端框架开发应用时,我们经常需要模拟数据进行开发和测试。Ember Data Mirage是一个非常棒的npm包,它提供了本地的数据模拟功能,可以让我们在开发...

    2 年前
  • npm 包 karma-defer-spec-reporter 使用教程

    前言 在进行前端开发时,经常需要运行测试用例来保证代码的质量。Karma 是一个基于 Node.js 的 JavaScript 测试环境,它可以用于运行各种测试框架(Jasmine、Mocha、QUn...

    2 年前

相关推荐

    暂无文章