npm 包 autodll-webpack-plugin 使用教程

在现代web应用程序,Webpack处理了许多工作,从转换Javascript、处理css、打包代码等等。Webpack是一个强大而灵活的工具,但是当你的webpack编译时间变慢时,使用该工具变得更加困难。这个时候,我们就需要 autodll-webpack-plugin 这个工具了。autodll-webpack-plugin 可以明显的加快webpack的编译速度。在这篇文章中,我将讲解如何使用 autodll-webpack-plugin 来减少webpack的编译时间。

为什么需要 autodll-webpack-plugin

让我们先看看前端开发中经常性的问题:Webpack编译时间的问题。当我们的webpack编译时间变慢时,每次webpack运行都会浪费大量的时间,这会导致团队的生产效率降低。这个问题在大型且复杂的应用中尤其严重。为了解决这个问题,我们需要解决以下两个方面的问题:

  1. 第一次webpack运行后,启动webpack-dev-server时间太长,热重载也很慢。
  2. 当webpack额外需要加载的JavaScript资源过多时,Webpack编译过程将变得比较慢。

为了解决这些问题,我们需要在Webpack配置中添加我们的npm包 autodll-webpack-plugin

autodll-webpack-plugin 简介

autodll-webpack-plugin 是一个用于Webpack的插件,可以根据预设的依赖项,将依赖包打包成一个单独的 bundle。这样,我们就可以避免在每次webpack编译时加载大量JavaScript资源,从而提高我们的webpack编译速度。

autodll-webpack-plugin 安装

我们可以通过npm来安装 autodll-webpack-plugin,只需要在命令行中执行以下命令:

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

autodll-webpack-plugin 配置

在Webpack中,我们需要添加以下代码片段来配置 autodll-webpack-plugin。我们需要做以下工作:

  1. 添加 DllPlugin 以生成 Dll 文件。
  2. 在 Webpack 配置中添加 DllReferencePlugin 以链接这些 Dll 图书馆。
  3. 自动编译器是 Webpack 的 Hooks 之一,它可以监听编译过程并在编译完成时触发 callback 函数。因此,我们需要将 AutodllPlugin 实例化和传递到每个 compiler.hooks.compilation.tap 上。
----- ------- - -------------------
----- ---- - ----------------
----- ------------- - ----------------------------------

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

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

autodll-webpack-plugin 使用

我们仅仅需要在 plugins 中添加 autodll-webpack-plugin 就完成了配置。然后在 Webpack 编译时打开 DllPlugin,这是我们基于所需的要求配置并引入 DllReferencePlugin 就能使用了。

以下是我们的 webpack.config.js 文件:

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

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

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

其中,我们的DllPlugin和DllReferencePlugin都是在plugins中实现的,而DllPlugin则是在 AutodllPlugin 中被打开和配置的。

在你建立以上配置之后,你可以运行你的webpack打包程序了:

--- --- -----

autodll-webpack-plugin 示例

下面是一个具体的代码示例,这个示例使用React开发了一个TodoList,autodll-webpack-plugin 被用于打包 React 和 React-DOM。

  1. 首先,在命令行中初始化一个名为 todolist 的项目,并在项目中运行 npm install
--- ---------------- --------
-- --------
--- -------
  1. src 文件夹中创建 AutodllExampleComponent.js 文件,并编辑如下内容:
------ ----- ---- --------

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

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

------ ------- ------------------------
  1. src 文件夹中创建 App.js 文件,并编辑如下内容:
------ ------ - --------- - ---- --------
------ ----------------------- ---- ----------------------------

------ ------- ----- --- ------- --------- -
  -------- -
    ------ -
      ------------------------ --
    --
  -
-
  1. index.js 文件中添加如下内容:
------ ----- ---- --------
------ -------- ---- ------------
------ --- ---- --------
------ --------------

-------------------- --- ---------------------------------
  1. index.html 文件中的 title 修改为 Autodll Example Todo List

  2. 安装 npm 包:

--- ------- ---------------------- ----------
  1. 修改 webpack.config.js 文件:
----- ------- - -------------------
----- ---- - ----------------
----- ------------- - ----------------------------------

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

-------------- - -------
  1. 运行打包程序:
--- --- -----

现在,打开浏览器,在地址栏输入 http://localhost:3000/,你将看到一个可爱的 todo list 了。

以上就是 autodll-webpack-plugin 的使用方法,它可以帮助我们提升webpack编译速度,在我们重构时,非常实用,也可以让我们更快的提供高质量的代码。

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


猜你喜欢

  • npm 包 mocha-test 使用教程

    简介 Mocha 是一个针对 JavaScript 的单元测试框架,由浏览器端的 BDD / TDD 行为模型启发而来,旨在为异步的测试提供更优雅的解决方案。Mocha 在 Node.js 和浏览器上...

    4 年前
  • npm包 custom-attributes 使用教程

    在前端开发中,我们经常会遇到需要为DOM元素自定义属性的情况,这时就可以使用npm包 custom-attributes来实现自定义属性的添加和删除。本文将详细介绍该npm包的使用方法和示例代码,并指...

    4 年前
  • Element-Behaviors NPM 包使用教程

    前言 在前端开发中,我们经常需要用到一些组件库,随着后端开发与前端开发的分离不断发展,前端组件库 Framework 轮廓渐趋明显,常用的有 ant-design、element-ui、iview 等...

    4 年前
  • npm 包 james-bond 使用教程

    什么是 npm 包? npm 包是 Node.js 的包管理器,它允许开发者共享和重用代码和库。在前端开发中,我们可以使用 npm 包轻松地添加外部库和工具来增强我们的应用程序。

    4 年前
  • npm 包 jss-px 使用教程

    在前端开发中,我们经常会用到像素(px)这样的 CSS 单位。但是,不同设备或屏幕分辨率可能会导致大小不同的问题。这时,可以用 jss-px 这个 npm 包来解决这个问题。

    4 年前
  • npm包@lume/cli使用教程

    在现代Web开发中,前端技术已经变得越来越重要。前端技术涉及许多技术领域,例如:HTML,CSS,JavaScript等。其中,JavaScript是前端技术的核心。

    4 年前
  • npm 包 lowclass 使用教程

    npm 包 lowclass 使用教程 在前端开发过程中,我们经常会使用类(class)来构建对象和模块。但是 JavaScript 的类机制并不是十分完善,很多时候无法满足我们的需求。

    4 年前
  • npm 包 @trusktr/skatejs 使用教程

    本文将介绍如何使用 npm 包 @trusktr/skatejs 来构建一个简单的 Web Component。通过学习本文,你将掌握 Web Component 的开发流程以及如何使用 @trusk...

    4 年前
  • npm 包 @types/gulp-babel 使用教程

    在前端开发中,使用 Gulp 和 Babel 经常是必不可少的。@types/gulp-babel 是一个 Gulp + Babel 类型定义库,它提供了类型定义文件,使得你使用这个库时能够在 Typ...

    4 年前
  • npm 包 @types/gulp-cached 使用教程

    在前端开发中,Gulp 是一个非常流行的构建工具,可以通过它自动化处理各种任务,例如压缩 CSS、JS、图片等,自助刷新等等。但是在使用 Gulp 进行开发时,我们常常需要一些插件来扩展其功能,其中又...

    4 年前
  • npm 包 @zoltu/typescript-transformer-append-js-extension 使用教程

    前言 在前端开发中,我们难免会遇到需要引用一些第三方 JavaScript 库的情况。然而,有时这些库并没有提供 TypeScript 类型定义文件,会导致在 TypeScript 代码中使用时出现无...

    4 年前
  • npm 包 karma-stacktrace 使用教程

    简介 karma-stacktrace 是一个 npm 包,用于在前端开发中生成详细而有用的错误堆栈信息。该包提供了一个自定义信息展示器,可以将生成的错误信息变得更好理解。

    4 年前
  • npm 包 regexr 使用教程

    在前端开发中,正则表达式是一项非常重要的技术。正则表达式可以用来匹配、提取和替换字符串,它的应用非常广泛。而 npm 包 regexr 可以帮助我们更加便捷地使用正则表达式,本文将介绍 regexr ...

    4 年前
  • npm 包 builder-js-package 使用教程

    介绍 builder-js-package 是一个基于 Node.js 平台的 npm 包,它可以帮助前端开发者更轻松地构建自己的 JavaScript 库和组件包。

    4 年前
  • npm 包 gulp-wrap-js 使用教程

    gulp-wrap-js 是一个非常实用的 npm 包,可以让我们在编写 JavaScript 代码时,更好地组织和管理代码。在本文中,我们将详细介绍 gulp-wrap-js 的使用方法,并带给你一...

    4 年前
  • npm 包 deindent 使用教程

    在前端开发中,我们经常会使用到编写 HTML、CSS 或 JavaScript 时进行代码缩进。但这些缩进有可能会导致代码缩进过度,使代码难以阅读和维护。 为了解决这个问题,最好的方法是使用一个 np...

    4 年前
  • npm 包 karma-polyfill 使用教程

    在前端开发中,我们常常需要使用各种不同的框架和库来实现功能。而这些框架和库通常都要依赖一些 JavaScript Polyfill,以实现浏览器的兼容性。npm 包 karma-polyfill 就是...

    4 年前
  • npm 包 ng-select-all-on-focus 使用教程

    在前端界中,类似于 ng-select-all-on-focus 这样的小型 npm 包通常可以帮助开发者节省大量的时间和精力,同时也提高了前端开发的效率。本文将详细介绍这个包的使用方法,帮助初学者快...

    4 年前
  • npm 包 @borgar/eslint-config 使用教程

    前言 在前端开发中,代码质量的保证非常重要。ESLint 是一个非常受欢迎的静态代码质量检查工具,可以在代码编写的过程中发现常见的错误和潜在的问题,从而提高代码的可维护性和可读性。

    4 年前
  • npm 包 gulp-path 使用教程

    前言 前端开发中,我们总会遇到需要对多个文件进行处理的情况,比如合并、压缩、重命名等操作。而 gulp 和 gulp 相关的插件,就是专门用来解决这类问题的工具集。

    4 年前

相关推荐

    暂无文章