npm 包 fs-watch-exec 使用教程

在日常前端开发中,经常需要监听文件的变化,例如自动编译 Less 或者打包,自动刷新浏览器等。Node.js 中的 fs 模块提供了读写文件的操作,但并不能实现文件变化的监听。这时候就需要借助第三方包,比如 fs-watch-exec。本文将介绍如何使用 fs-watch-exec 包进行文件变化的监听。

安装

使用 npm 进行包安装:

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

-fs-watch-exec 是一个专门用于监听文件变化并且并行执行 shell 脚本的 Node 工具。

API

fs-watch-exec 提供了以下构造函数:

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

options 可以包含以下属性:

  • filepaths: 要监听的文件路径,必须是字符串或者字符串数组。
  • cwd: 当前工作目录,默认为 process.cwd()
  • delay: 延迟重新运行的时间(毫秒)。默认值为 2000。
  • ignored: 忽略文件的正则匹配。
  • debounce: 间隔多少时间重新运行。默认为 500 毫秒。
  • onStart: 进程启动时运行的 shell 脚本。
  • onReady: 进程 ready 时运行的 shell 脚本。
  • onEvent: 文件变化时运行的 shell 脚本。

示例

以下是一个示例,它将监听 HTML 与 CSS 文件的变化,然后自动重启 Python 服务器,并在项目目录下运行 gulp 命令:

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

上面代码中,Watcher 构造函数的 options 对象有三个属性:

  • filepaths: 要监听的文件路径,为数组形式,
  • ignored: 正则表达式匹配出要忽略的文件,
  • onStart: shell 脚本 在进程启动时运行,
  • onReady: shell 脚本在进程 ready 时运行,
  • onEvent: shell 脚本在文件变化时运行。

以上配置将在监视的文件发生变更时分别执行 Python 脚本并重新构建应用程序。

总结

fs-watch-exec 是一个绝佳的 Node.js 包,方便地实现了文件监听和执行不同的 shell 命令。学习这个包的使用将对前端的开发工作带来极大的便利,可以帮助我们实现自动化的构建、刷新等重要功能。在实践中,我们可以根据不同的项目需要来设置需要监听的文件和执行的命令,以达到最佳的应用效果。

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


猜你喜欢

  • npm 包 foz 使用教程

    在前端开发中,我们经常需要使用各式各样的工具来协助我们完成项目开发。其中,npm 是目前最为流行的 JavaScript 包管理器之一,它可以让我们便捷地安装、更新、卸载以及共享代码包。

    3 年前
  • npm 包 react-router-with-query 使用教程

    随着前端技术的不断发展,前端的路由管理已经成为了前端开发中不可或缺的一部分,而 react-router 处理路由的方式也越来越成熟。但是 react-router 并不支持直接传递查询参数,而是需要...

    3 年前
  • npm 包 webpack-md5-hash-fixed 使用教程

    在前端开发中,我们经常需要将我们的代码进行打包,而常用的打包工具是 Webpack。而其中一个常用的插件就是 webpack-md5-hash,它可以给打包后的文件名添加哈希值以便于浏览器缓存。

    3 年前
  • npm 包 cordova-amap-locate 使用教程

    简介 cordova-amap-locate 是一个基于高德地图的定位 Cordova 插件。它提供了一些特殊的高级定位功能,如精准度、海拔高度、速度以及方向等的获取。

    3 年前
  • npm 包 gulp-git-mtime 使用教程

    前端开发中,自动化构建已经成为非常重要的一部分,而自动化构建工具中又有很多常用的插件。其中, gulp-git-mtime 是一款非常实用的自动化构建工具,可以帮助我们将 Git 仓库中不同版本的源码...

    3 年前
  • 使用 react-sentry-error-boundary npm 包进行前端错误边界管理

    在前端开发中,我们经常会遇到各种错误和异常情况。这些问题如果没有得到妥善处理,可能会影响用户体验和产品质量。为了避免这种情况的出现,我们需要使用一些工具和技术来监控和处理错误。

    3 年前
  • npm包@ernsheong/tiny-date-picker 使用教程

    什么是@ernsheong/tiny-date-picker @ernsheong/tiny-date-picker是一个轻量级日期选择器,它可以以弹出框或内联方式呈现日期选择器。

    3 年前
  • npm 包 @lointain/vuexs 使用教程

    在 Vue.js 开发中,vuex 可以用来管理应用中的状态。然而,当应用规模变大时,状态的管理会变得更加复杂,vuex 也可能出现一些问题。于是,@lointain/vuexs 就出现了,它提供了一...

    3 年前
  • npm 包 ionic-cal2 使用教程

    如果你正在开发一款需要展示日历的移动端应用,那么今天我们介绍的 npm 包 ionic-cal2 会对你非常有帮助。本教程将详细介绍如何使用 ionic-cal2,包括安装、配置、使用方法以及示例代码...

    3 年前
  • npm 包 nuke-theme-dark-blue 使用教程

    在 Web 开发中,前端开发技术变化迅速,需要不断地学习新技术。其中,npm 是一种很有用的工具,旨在帮助开发者更好地管理和使用 JavaScript 包。在本文中,我们将介绍一个非常实用的 npm ...

    3 年前
  • npm 包 rpscript-api-mail-listener2 使用教程

    前言 邮件是现代通信的重要方式之一。在项目开发中,经常需要实现邮件的读取与处理功能。rpscript-api-mail-listener2 包是一个用于 Node.js 的简单邮件监听器,支持 IMA...

    3 年前
  • npm 包 @workplus/isv-client 使用教程

    介绍 @workplus/isv-client 是企业级移动应用开发平台 WorkPlus 提供的一个用于集成企业信息化系统的 ISV 客户端。该客户端提供了一系列 API,开发者可以在移动端应用中调...

    3 年前
  • npm 包 fastify-hsts 使用教程

    npm 包 fastify-hsts 使用教程 在 web 应用程序中,安全性一直是一个重要的方面。HTTP strict transport security (HSTS) 是一种安全机制,可帮助网...

    3 年前
  • npm 包 pcjs-keygen 使用教程

    在前端开发中,有很多需要用到密钥的场景,例如加密、解密等等,此时需要使用一款能够生成密钥的工具。pcjs-keygen 就是这样一款可靠的 npm 包,本文将为大家介绍它的使用方法。

    3 年前
  • npm 包 generator-reatux 使用教程

    什么是 generator-reatux generator-reatux 是一个开源的 npm 包,它可以帮助我们快速生成一个基于 React 和 Redux 的项目模板。

    3 年前
  • npm 包 ngx-foundation-sites 使用教程

    简介 ngx-foundation-sites 是一个基于 Angular 框架的 UI 库,提供了大量组件和模块,适用于开发 Web 应用。它基于 Foundation for Sites 构建,可...

    3 年前
  • NPM 包 X-apidoc-core 使用教程

    1. X-apidoc-core 是什么? X-apidoc-core 是一个 Node.js 下的 API 文档生成工具,支持将 API 接口文档自动生成 Markdown 或 HTML 格式,并支...

    3 年前
  • npm 包 @daniel-ordonez/vue-auto-typing 使用教程

    前言 在现代 web 开发中,动态交互效果已经成为了非常常见的需求。而打字机效果( Typewriter Effect)则是其中非常受欢迎的一种效果。 在 Vue.js 中,利用第三方库可以轻松地实现...

    3 年前
  • npm 包 @eim-materials/not-permission-block 使用教程

    在前端开发中,权限控制是一个非常重要的功能点。而 @eim-materials/not-permission-block 是一款基于 React 的权限控制组件,它可以帮助我们在界面上屏蔽掉某些敏感的...

    3 年前
  • npm 包 egg-log 使用教程

    在前端开发中,日志记录是非常重要的一项技术,可以帮助我们快速地定位代码问题,优化代码性能。因此,今天我来介绍一款便捷的 npm 包——egg-log。 什么是 egg-log? egg-log 是阿里...

    3 年前

相关推荐

    暂无文章