npm包 clean-build-on-watch-webpack-plugin 使用教程

npm包 clean-build-on-watch-webpack-plugin (以下简称clean-build插件)是一款用于优化前端开发中webpack构建打包速度的工具。在此篇文章中,将对此插件的使用方法进行详细介绍,以及在实际开发中如何使用clean-build插件来提高开发效率。

插件介绍

clean-build插件是一个基于webpack的插件,它的主要作用是在Webpack的Watch模式下,通过清空构建目录的方式来加快构建速度。原理是每次构建之前,都将构建目录清空,避免其他无用的文件和目录占用构建资源,从而加速构建速度。在使用过程中,我们可以想象为“每个构建都是从零开始”。

使用方法

安装

使用npm进行安装:

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

引入

在webpack配置文件中引入clean-build插件,通常我们将它作为webpack的插件即可:

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

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

配置

Options:

Name Default Type Description
verbose true boolean 是否开启详细模式
beforeClean undefined Function: () => false | void | Promise<void> 运行清理前的回调函数

比如,你可以配置成这样:

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

示例代码

在最简单的情况下,我们只需要在webpack配置文件中简单的引用即可。如下所示:

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

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

深入理解

在Webpack的webpack/lib/Compiler.js文件中,Watch模式下的编译,其实是维护了一个文件系统监视器。它会监视源代码的改动,并将变更的文件进行重新编译、打包输出。在实际开发中,我们会发现,即使我们只修改了某个文件,WebPack的构建速度会很慢,这是因为Webpack内部维护了一个Watch目录,并不断的更新它。所以,即使我们只做了小小的修改,Webpack也会重新扫描整个目录,这样就导致了构建速度的下降。

而使用clean-build插件之后,每当Webpack Watch模式下的变更监视器被唤醒时,插件会自动清空目标文件夹并彻底重新编译输出,从而加快了构建速度。

注意事项

  1. beforeClean回调函数返回false时,将不执行清理操作
  2. 如果您使用了一些不太常规的Webpack操作(如:使用自定义 outputFileSystem 或在编译期间动态添加新的入口点等等),则可能需要重新编写插件代码才能保证插件的有效性。

结论

Clean-build插件可以有效地提高Webpack的Watch模式下的构建速度,从而提高开发效率。希望在项目开发中为开发者们提供一些参考价值。

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


猜你喜欢

  • npm 包 digital-commons 使用教程

    前言 在前端开发中,我们经常会用到一些常用的函数和工具,比如日期格式化、字符串转换等等。这些工具经常被多个项目复用,为了避免重复开发,我们可以将这些工具封装成 npm 包,供多个项目共用,提高开发效率...

    3 年前
  • npm 包 hologger-streamer 使用教程

    在前端开发中,日志记录是非常重要的。好的日志记录可以方便开发人员快速排查和解决问题,提高代码质量。而 npm 包 hologger-streamer 就是一个可以方便地进行日志记录的工具。

    3 年前
  • npm 包 iterate-promise 使用教程

    iterate-promise 是一个可以在 Promise 上进行迭代操作的 npm 包。它可以帮助前端开发者在异步操作中进行复杂的逻辑控制,减少代码的复杂度。 本篇文章将介绍 iterate-pr...

    3 年前
  • npm 包 Redux-Reducer-Composers 使用教程

    在使用 Redux 进行前端应用开发时,我们需要编写 Reducer 函数来响应不同的 Action 并返回新的 State。在一些场景下,我们需要编写一个由多个 Reducer 函数组合而成的复杂 ...

    3 年前
  • npm 包 slack-winston-transport 使用教程

    在前端开发过程中,日志记录是非常重要的,它可以帮助我们快速地发现和调试问题。而现在有一个非常方便的方式,即使用 winston 库进行日志记录,并使用 slack-winston-transport ...

    3 年前
  • npm 包 @compositor/publish 使用教程

    简介 在前端开发中,使用 npm 来管理代码是很常见的。npm 包的发布和管理是很重要的一环。在 npm 生态系统中,有很多工具和插件可以帮助我们更好地发布和管理自己的 npm 包,其中 @compo...

    3 年前
  • npm 包 @dickeyxxx/list-npm-contents 使用教程

    简介 npm是世界上最大的开源软件包管理器之一,拥有数万个包供开发者使用。在使用npm时,有时候我们需要获取某个包的所有文件列表,以便于在开发中使用。这时,就可以使用 @dickeyxxx/list-...

    3 年前
  • npm 包 glia-babel-standalone 使用教程

    在前端开发中,JavaScript 是我们最为熟悉和常用的语言之一。然而,浏览器对 JavaScript 的支持并不完全一致,甚至存在一些语法和特性在某些浏览器上并不被支持。

    3 年前
  • npm包 react-controllable-renderless使用教程

    React是一种用于构建用户界面的 JavaScript 库,它成为了前端框架中最流行的一种。提高 React 应用的可控性和可操作性正因为此成为了许多开发人员的首要任务。

    3 年前
  • npm 包 @async-generators/iterable 使用教程

    前言 近年来,JavaScript 语言日益流行,前端开发工作也越来越重要。而 npm 是 JavaScript 的包管理器,方便我们获取和管理依赖库。今天,我要介绍的是 npm 包 @async-g...

    3 年前
  • npm 包 @async-generators/terminator 使用教程

    近年来,JavaScript 生态系统中的工具包越来越多,其中不乏一些十分有用的 npm 包,比如 @async-generators/terminator。这个包可以让你在异步生成器函数中使用类似 ...

    3 年前
  • npm 包 @hamavb/react-color 使用教程

    简介 @hamavb/react-color 是一个针对 React 应用程序的颜色选择器组件库。 它提供了基础颜色选择器组件、自定义颜色选择器组件等丰富的 API,为 React 应用程序提供了方便...

    3 年前
  • npm 包 gulp-sass-vars-to-js 使用教程

    介绍 在前端开发过程中,我们使用 Sass 预处理器来编写 CSS,通过定义变量、嵌套规则等功能提高样式代码的复用性和可维护性。然而,在开发过程中,我们有时需要将 Sass 中定义的变量或者 mixi...

    3 年前
  • npm 包 react-camera 使用教程

    前言 如今,随着移动摄像头技术的迅猛发展,移动端的摄像头功能越来越强大,不少前端开发者也希望能够在 Web 应用中利用摄像头功能。而 react-camera 库就是一款能够在 React 项目中快速...

    3 年前
  • npm 包 cordova-plugin-canvas2image-j 使用教程

    在前端开发中,我们经常需要对 canvas 绘制的图形进行保存和分享。而 npm 包 cordova-plugin-canvas2image-j 就能帮我们很好地实现这一目标。

    3 年前
  • npm 包 essy-stats 使用教程

    如果你是一名前端开发者,那么你可能非常熟悉 npm,即 Node.js 的包管理器。你肯定熟悉如何使用 npm 安装和使用各种第三方库。今天,我们将介绍一个新的 npm 包,名为 essy-stats...

    3 年前
  • npm包Egret-web-urls使用教程

    Node Package Manager(npm)是一种包管理工具,它允许我们轻松地安装和更新Node.js应用程序所需的所有依赖项。Egret-web-urls是一个基于Egret游戏引擎的URL地...

    3 年前
  • npm 包 @async-generators/from-emitter 使用教程

    @async-generators/from-emitter 是一个 NPM 包,可以将 EventEmitter 转换为异步生成器,可以方便地使用 for await...of 操作符进行异步数据处...

    3 年前
  • npm 包 @async-generators/timeout 使用教程

    介绍 @async-generators/timeout 是一个基于 async generator 的超时库,可以帮助你在异步函数执行超时时抛出异常。 安装 使用 npm 安装: - --- ---...

    3 年前
  • npm 包 search-engine-client 使用教程

    前言 在前端开发过程中,我们常常需要调用搜索引擎 API 来实现搜索功能,但是各个搜索引擎的 API 都有各自的限制和要求,如何方便地调用不同搜索引擎的 API 成了一个难题。

    3 年前

相关推荐

    暂无文章