npm 包 watchpack 使用教程

简介

watchpack 是基于 Node.js 的文件监听工具,可以在代码修改保存时自动执行指定的操作,例如重新编译、打包等。本文将详细介绍 watchpack 的使用方法和相关注意事项。

安装

watchpack 可以通过 npm 安装:

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

使用

基本用法

JavaScript 中引入 watchpack 并创建一个实例:

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

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

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

以上代码会监听当前目录下的文件变化,并在文件发生变化时输出一条提示信息。

可选配置

watchpack 的实例也支持一些可选配置,如:

  • aggregTimeout:聚合延迟时间,单位为毫秒(默认值为 200)。
  • binaryInterval:二进制文件检查间隔,单位为毫秒(默认值为 300)。
  • ignored:需要忽略的文件或目录路径,可以是单个字符串或数组(默认为空数组)。
  • poll:是否启用轮询模式,在某些文件系统和操作系统上需要启用,但会降低性能(默认值为 undefined)。
----- -- - --- -----------
  ------ ------
  -------------- ----
  --------------- -----
  -------- -
    ---------------
    -------
  --
  ----- -----
---

监听事件

watchpack 实例支持多种监听事件,如:

  • change:文件变化事件。
  • aggregated:聚合事件,多个文件变化的聚合事件。
  • remove:文件删除事件。
  • error:错误事件。
----- -- - --- -----------
  ------ ------
---

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

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

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

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

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

示例代码

下面是一个简单的示例代码,实现了在文件发生变化时自动编译 TypeScript 并输出编译结果:

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

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

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

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

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

总结

watchpack 是一个强大的文件监听工具,可以帮助我们在开发过程中自动化很多操作。本文介绍了 watchpack 的基本用法和一些可选配置,以及如何监听不同类型的事件,并提供了一个简单的示例代码作为参考。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/51803