npm 包 @joeybaker/chokidar 使用教程

在前端开发中,经常需要监听文件的变化,以便在发生变化时自动重编译或刷新页面。这时候就需要使用一个文件监听库。其中,@joeybaker/chokidar 是一个非常优秀的 npm 包,可以实现高效且稳定的文件监听功能。本文将介绍如何使用 @joeybaker/chokidar,让你能快速上手这个工具,并在实际开发中运用它。

安装

在开始使用 @joeybaker/chokidar 之前,我们需要先安装它。在命令行工具中输入以下命令:

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

监听指定路径下的文件

首先,我们来看一个最基础的示例:监听指定路径下的所有文件的变化。以下代码演示了如何监听当前目录下所有文件的变化:

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

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

在上面的代码中,我们使用路径 '.' 来监听当前目录下所有文件的变化。通过 watcher.on('change') 事件监听器,当任何文件发生变化时,都将在控制台中输出一个信息,告诉我们哪些文件发生了变化。

监听指定路径下的特定文件类型

如果我们只希望监听指定类型的文件的变化,比如只监听 .js.css 文件的变化,可以使用 glob pattern 参数。以下代码演示了如何使用 glob pattern 来监听当前目录下面的所有 .js.css 文件的变化:

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

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

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

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

在上面的代码中,我们配置了一个 chokidar.watch 监听器,通过 ignored 参数来排除掉目录中的所有隐藏文件。同时,我们还可以通过配置文件时的其他参数来实现监听特定文件类型,比如使用 ignored 参数的 *.!(js|css) 配置,忽略掉非 .js.css 文件。

单元测试

如果我们要对代码进行单元测试,通常需要在代码发生变化时自动重新运行单元测试。以下代码演示了如何同时监听多个路径,在任何路径下的文件发生变化时都自动运行单元测试:

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

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

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

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

在上面的代码中,我们监听了 src/*.jstest/*.test.js 两个路径,并在任何文件发生变化时重新运行 npm run test 命令。需要注意的是,在重新运行命令时,我们必须首先杀死之前运行中的进程,否则操作系统可能不允许我们同时运行多个相同的测试进程。

总结

@joeybaker/chokidar 是一个非常高效和稳定的文件监听工具。本文通过示例代码的讲解,介绍了如何使用这个工具来监听特定的文件类型,实现代码单元测试自动化,以及一些其他的实际应用场景。希望这篇教程能够帮助大家更好地学习和使用 @joeybaker/chokidar。

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


猜你喜欢

  • npm 包 @jarmee/jest-dom-custom-matchers 使用教程

    前言 在前端开发过程中,我们经常会使用 Jest 进行单元测试。Jest 是一个非常强大的 JavaScript 测试框架,提供了丰富的 API 和丰富的插件生态系统。

    3 年前
  • npm 包 @jwdotjs/hapi-graphql 使用教程

    简介 @jwdotjs/hapi-graphql 是一个可以与 Hapi 使用的 GraphQL 插件。这个插件可以帮助前端开发者更加方便地在 Hapi 项目中使用 GraphQL。

    3 年前
  • npm 包 @jwdotjs/videoshow 使用教程

    介绍 @jwdotjs/videoshow 是一个开源的 npm 包,它用于在 Node.js 环境下生成视频。与现有的视频生成工具不同,@jwdotjs/videoshow 可以方便地控制视频的每一...

    3 年前
  • 使用@jarvisaoieong/node-google-translate-free进行Google翻译

    如果你正在寻找一种轻便且易于使用的工具来进行文本翻译,那么npm包 @jarvisaoieong/node-google-translate-free是一个很好的选择。

    3 年前
  • npm 包 @jarvisaoieong/redux-loop 使用教程

    概述 @jarvisaoieong/redux-loop 是一个 npm 包,提供了 Redux 中的无限循环更新状态机制,可以帮助前端开发者更加灵活地管理应用程序状态。

    3 年前
  • npm 包 @jarvisaoieong/redux-logger 使用教程

    在前端开发中,Redux 是一个非常流行的状态管理库。而 @jarvisaoieong/redux-logger 这个 npm 包则是一个帮助开发者调试 Redux 代码的日志工具。

    3 年前
  • npm 包 @jasonmit/ember-cable 使用教程

    在现代化的 Web 应用中,我们通常需要使用 WebSockets 来实现实时通信。而 Action Cable 则是 Ruby on Rails 中很流行的实现 WebSocket 的方案。

    3 年前
  • npm 包 @jkroso/move 使用教程

    在前端开发中,经常需要实现一些动态效果,比如拖拽、滚动、交互等等。而 @jkroso/move 这个 npm 包就是一款用于实现元素动态效果的工具,其支持直线运动、曲线运动等多种运动方式,而且用法简单...

    3 年前
  • npm 包 @jkroso/timeline 使用教程

    在现代的前端开发中,时间轴(timeline)是一种非常重要的可视化数据展示方式。@jkroso/timeline 是一个 npm 包,提供了一个易于使用的时间轴组件,具有灵活的配置和高度的可定制性。

    3 年前
  • npm 包 @jledentu/generator-reveal 的使用教程

    @jledentu/generator-reveal 是一个 npm 包,它提供了一个 reveal.js 的模板,并可以自动生成一个演示文稿的目录结构和基本配置。

    3 年前
  • npm 包 drag.min.js 使用教程

    拖拽是前端页面常见的交互效果。而 npm 包 drag.min.js 就是一个基于 JavaScript 的开源拖拽库,它可以帮助用户快速、轻松地实现页面元素的拖拽操作。

    3 年前
  • npm 包 @jleskovar/vue-native-websocket 使用教程

    WebSocket 是一种基于 TCP 协议实现的浏览器与服务器之间实时双向通信的技术。通过 WebSocket,我们可以实现更加实时和双向的通信,是前端中非常重要的一项技术。

    3 年前
  • npm 包 @jwhite0042/phaser-ce 使用教程

    前言 @jwhite0042/phaser-ce 是一个基于 Phaser 游戏引擎构建的 npm 包,提供了一系列游戏开发所需的功能和工具。本篇文章将介绍如何使用该包进行前端游戏开发,并提供详细的文...

    3 年前
  • npm 包 @jwhite0042/react-map-gl 使用教程

    简介 @jwhite0042/react-map-gl 是一款基于 React 的地图可视化组件,它使用 Mapbox GL 和 React 两个库集成实现地图的交互式体验。

    3 年前
  • npm 包 @journeyapps/serverless 使用教程

    介绍 @journeyapps/serverless 是一个用于构建 serverless 应用程序的 npm 包。使用此包,您可以轻松地将您的应用程序部署到 AWS Lambda、Google Cl...

    3 年前
  • npm 包 @jworkshop/canvas 使用教程

    @jworkshop/canvas 是一个基于 HTML5 Canvas 的 JavaScript 库,它提供了一系列辅助绘制图形的方法,可以让我们更轻松、快捷地开发出美观、交互性强的前端应用程序。

    3 年前
  • npm 包 @jasonmit/ember-content-editable 使用教程

    引言 在现代 web 开发中,富文本编辑器已经成为了一个必不可少的组件。虽然目前市面上已有很多的成熟编辑器,但是在某些情况下,我们有时需要自定义我们的编辑器以满足特定的需求。

    3 年前
  • npm 包 @jasonmorganson/wp 使用教程

    随着前端技术的不断发展,我们越来越依赖于各种便捷的工具和库来完成自己的项目。而一个好的 npm 包可以为我们提供很多便捷,我们今天介绍的 @jasonmorganson/wp 就是一个优秀的工具包,它...

    3 年前
  • npm 包 @jasonmorganson/run-scripts 使用教程

    概述 @jasonmorganson/run-scripts 是一款 npm 包用于在前端开发过程中执行各种命令和脚本,便于快速地完成项目开发工作。 安装 使用 npm 安装 @jasonmorgan...

    3 年前
  • npm 包 @jasonpollman/dynamic-interval 使用教程

    介绍 在前端开发中,我们经常需要处理一些时间相关的操作。其中定时器是一个比较常用的工具,能够实现延迟执行和循环执行等功能。在 JavaScript 中,我们有 setInterval 和 setTim...

    3 年前

相关推荐

    暂无文章