npm 包 dm-h5-dll 使用教程

背景

前端工程化在现在越来越普遍,为了在前端项目中提高性能,实现组件化与模块化,在名词轮回过程中诞生了许多工具。Webpack 是其中一个最流行的前端打包工具。在实际使用中,webpack 可以通过使用 DllPlugin 这个插件提高构建速度,减少输出文件体积,加快构建编译速率,提高前端性能体验。

dm-h5-dll 模块使得 Package 文件可以以工具库的形式运行,简化了 webpack.dll.js 配置文件的设置,并且可以在任何一个 webpack 配置文件中随意使用或加载 DLL 缓存。它使用到了 webpack.DllReferencePlugin,通过程序化的方式,添加dll程序生成的映射关系到 webpack。

用法

安装

在 package.json 中安装 dm-h5-dll:

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

配置

  1. 创建一个名为 vendor_config.js 的配置文件,输入以下配置进行自定义:
-------------- - -
  ----- -
    -- ----------------- ------------ ------------ ------ - ------
    -- ---- ---------------- ----------------------------
    - ---- --------- ---- -----
    - ---- -------- ---- ------- --
    - ---- -------- ---- ---------- --
  --
  ----------- -------------- -- ------ -----
  ----- --------- -- ------ --------- --------- ---- ---- ----
--
  1. webpack.config.js 配置文件中使用 dm-h5-dll
----- ----- - ---------------------
----- ------------ - ------------------------------

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

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

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

使用

引入Dll缓存

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

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

注意事项

  1. 在使用时,需要在同构项目中找到依赖库的名称,并与 dllConfig.js 中声明的名称一致,否则会抛出 Miss dll reference plugin of vendor 错误。

  2. vendor_config.js 中的 deps 配置为需要当做缓存的包,可以在此任意指定。但是需要注意,该库的 name 可能会对多个 webpack.DllPlugin 实例之间产生重复。注意包含相同名称的运行时库的冲突。在这种情况下,可以将相同的库分布到不同的name缓存文件中并在manifest文件中指南。

  3. 在某些场景下,可能需要在不同的模块之间共享缓存。为此,DllPlugin 暴露了 context 选项来解决这个问题。将 context 提供给 DllPlugin 后,它将被用作生成 manifest 文件的路径,而不管 DllPlugin 在那个模块中执行。

  4. 缓存顺序问题

当配置了多个 DllPlugin 进 http://www.webpackjs.com/plugins/dll-plugin/configuration/options/#name行缓存时,如果其中一个库更改了版本或不再使用,并且重新生成了manifest 文件,并且未重新构建主应用程序/客户端,此时正在运行的应用程序将不能自动具有更新。

结语

使用 dm-h5-dll 可以大大提高 webpack 的构建速度,如果前端工程化中使用到了 webpack.DllPlugin 插件,不妨可以尝试使用该 npm 包来更加方便快捷的使用 webpack.DllPlugin 插件。

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


猜你喜欢

  • npm 包 f7-vue-cli 使用教程

    随着移动应用的日益普及,前端框架也得到了越来越广泛的应用和关注。f7-vue-cli 是一个特别好用而且适合移动端开发的前端框架,能够帮助开发者快速搭建现代化的移动应用。

    2 年前
  • npm 包 hubot-sbueringer-matteruser 使用教程

    简介 hubot-sbueringer-matteruser 是一款 npm 包,用于让 Hubot 机器人在 Matteruser 上进行消息通知和交互。Matteruser 是一款开源的企业聊天应...

    2 年前
  • npm 包 redux-crud-wip 使用教程

    简介 redux-crud-wip 是一个用于管理 CRUD 操作的 Redux Toolkit 扩展库。可以帮助开发者更方便地处理和管理数据。 安装 使用 npm 安装: --- ------- -...

    2 年前
  • npm 包 eslint-config-staylor 使用教程

    作为前端工程师,我们经常需要处理大量的代码,而代码风格的统一化是保证代码质量的重要因素之一。通过使用 eslint 工具我们可以对代码风格进行检查,并及时发现代码潜在的问题。

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

    前言 近年来,随着移动互联网的迅猛发展,移动开发变得越来越热门,越来越重要。而作为前端开发者,掌握移动开发技术也变得越来越必要。本文将介绍一个 npm 包 cordova-plugin-ejemplo...

    2 年前
  • NPM 包 karma-webdriverio-launcher 使用教程

    简介 karma-webdriverio-launcher 是一个基于 WebdriverIO 6 的 karma 浏览器启动器。它提供了一个很方便的方式来自动测试浏览器,并且支持通过多个浏览器运行测...

    2 年前
  • npm 包 promiseful 使用教程

    在前端开发过程中,经常会用到异步代码。而使用异步代码,就不可避免地要处理回调函数。为了解决回调函数导致的“回调地狱”问题,Promise 应运而生。使用 Promise 可以让异步代码更加优雅和可读。

    2 年前
  • npm 包 koa-austack 使用教程

    在前端开发中,koa-austack 这个 npm 包被广泛地用于搭建基于 Koa 的 Web 应用程序。它不仅提供了基本的中间件和路由处理功能,还可以通过插件扩展更完整的功能,例如静态资源服务等。

    2 年前
  • npm 包 schesign-js-json-schema 使用教程

    前言 在前端开发的日常工作中,我们通常会用到 JSON 数据格式来进行数据交互。而对于 JSON 数据的校验与格式化等问题,我们可以使用一个名为 schesign-js-json-schema 的 n...

    2 年前
  • npm 包 yandex-money-sdk-fixed 使用教程

    yandex-money-sdk-fixed 是一个基于 Node.js 的 npm 包,用于使用 Yandex Money REST API 进行付款和收款等操作。

    2 年前
  • npm 包 cerebro-ebay 使用教程

    前言 随着电子商务的快速发展,eBay 成为了全球最大的 C2C 平台之一。对于需要在 eBay 上进行交易或观察 eBay 商品的人来说,能够快速搜索 eBay 商品信息是很有必要的。

    2 年前
  • npm 包 spyjest 使用教程

    作为前端工程师,我们经常被要求写高质量的测试用例以保证代码的质量。而 spyjest 是一个可以帮助我们更加方便地完成单元测试的 npm 包。在本文中,我将详细介绍如何使用 spyjest 来写单元测...

    2 年前
  • npm包 biodic-webpack-starter 使用教程

    前言 前端开发需要使用很多工具来提高效率和质量,而npm是其中的一个必不可少的工具。npm是源于Node.js的包管理器,开发者可以使用npm来下载和安装其他人编写的模块,以及发布自己编写的模块。

    2 年前
  • npm 包 @marysieek/react-native-fbsdk 使用教程

    在现代的移动应用中,社交媒体平台的集成逐渐成为了必需品。Facebook SDK 提供了许多功能,例如登录、分享、广告等等。如果你正在使用 React Native 开发应用,那么你会需要一个专门为 ...

    2 年前
  • npm 包 @staltz/asyncstorage-down 使用教程

    简介 @staltz/asyncstorage-down 是一个基于 react-native 的 npm 包,可以在移动端本地存储数据,支持异步操作,灵活性高,使用方便。

    2 年前
  • npm 包 cond-table 使用教程

    如果你正在开发一个前端应用程序或者网站,并且需要展示大量的数据,那么 cond-table 可能是一个不错的选择。cond-table 是一款基于 React 的 npm 包,它可以帮助你创建可排序、...

    2 年前
  • npm 包 ezqs 使用教程

    前言 在众多的前端开发工具中,npm(Node.js 的包管理器)一直占据了重要的地位,提供了丰富的可复用的 JavaScript 模块,极大地方便了前端工程师的开发流程。

    2 年前
  • npm 包 haraka-plugin-template 使用教程

    介绍 Haraka 是一个用 JavaScript 编写的 SMTP 服务器框架。它允许我们在 Node.js 环境中构建可扩展的邮件处理系统。Haraka 的一个重要组成部分是插件系统,它允许我们添...

    2 年前
  • npm 包 json2es6m 使用教程

    随着前端开发的日益发展,我们常常需要使用 JSON 格式的数据,但是 JSON 格式的数据在使用时必须要进行转换才能在代码中使用。而在使用 ES6 的模块化语法时,我们经常需要使用 JSON 格式的数...

    2 年前
  • npm 包 main-routine-with-files 使用教程

    随着前端应用愈发复杂,前端开发人员需要处理大量的文件和代码,使得开发工作变得越来越困难和繁琐。main-routine-with-files 是一个 npm 包,旨在为前端开发人员提供一个简单且有效的...

    2 年前

相关推荐

    暂无文章