迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 >

gulp学习之察言观色watch函数

作者:迹忆 最近更新:2022/12/12 浏览次数:

gulp.watch函数是用来监听文件的变化,当文件发生变化以后,可以通过回调函数或者指定的任务执行相应的内容。

gulp.watch(glob[,opts],tasks);

glob的用法和src中的参数glob的用法相同。可以参考src中的用法

opts这个参数不常用,这里略过不题。

tasks 监听到文件变化以后执行的任务

var gulp = require('gulp');
gulp.task('onmpw',function(){
	console.log('onmpw');
})
gulp.task('jiyi',function(){
	console.log('jiyi');
})
gulp.watch('lib/onmpw.js', ['onmpw','jiyi']);

当lib目录下的onmpw.js文件发生变化就会执行onmpw和jiyi两个任务。执行完成以后继续监听lib目录下的onmpw.js文件。

上面是使用tasks方式,还可以使用回调函数的方式

gulp.watch(glob[,opts,cb]);

例如

var gulp = require('gulp');
gulp.watch('lib/onmpw.js', function(e){
	console.log(e.type);
});

当lib/onmpw.js文件有变化时执行回调函数。e.type的类型有增加,删除和修改。也就是说除了修改onmpw.js文件,当删除或者增加lib/onmpw.js时也会触发回调函数。同时会在回调函数中打印出类型。

Starting 'watch'...
Finished 'watch' after 14 ms
changed
deleted

当我修改lib/onmpw.js,或者删除该文件以后会显示上面的结果。当再次新建onmpw.js文件以后,就会再次出现下面的结果。

Starting 'watch'...
Finished 'watch' after 14 ms
changed
deleted
added

但是当我们删除了这个文件,那watch监听的文件就消失了。所以当前的监听任务也就成了一个僵尸任务。除非我们再次新建这个文件,如果不新建是不是就需要将这个监听任务终止掉。

gulp.task('watch',function(){
     gulp.watch('lib/onmpw.js',function(e){
         if(e.type == 'deleted'){
             process.exit(0);
         }
     })
 })

执行上面的程序,当lib/onmpw.js文件被删除了以后,该监听任务就相应的退出了。

以上就是gulp.watch的用法。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Angular CLI Webpack 配置

发布时间:2023/04/12 浏览次数:123 分类:Angular

Angular CLI 提供了用于创建项目、添加和运行测试、生成组件、服务、管道、脚手架模块、特性等的命令。CLI 还提供了一个 webpack 配置文件。

在 Vue 中 watch 的 immediate 属性有什么用?

发布时间:2023/03/31 浏览次数:205 分类:Vue

在Vue中, watch 是一种数据变化时执行异步任务或触发响应式依赖的方式。在大多数情况下,watch 都会被默认延迟执行。这意味着,只有当所监视的值发生变化后,watch才会被触发,并且

在 PHP 中创建一个 Webhook

发布时间:2023/03/29 浏览次数:143 分类:PHP

本教程展示了如何在 PHP 中创建 webhook。我们将创建一个 webhook.log 文件。该文件将包含一些数组格式的文本,我们将从 example.json 文件中检索这些文本。我们将使用 PHP 脚本来解码这个

AngularJs $watchcollection

发布时间:2023/03/24 浏览次数:197 分类:Angular

本教程演示了什么是 $watchcollection 以及如何在 AngularJs 中使用它。

解决 Cannot find module 'webpack' 错误

发布时间:2022/09/16 浏览次数:162 分类:学无止境

要解决“Cannot find module 'webpack'”错误,需要确保通过运行 npm i -g webpack 命令全局安装 webpack,并通过运行 npm link webpack 命令创建从全局安装的包到 node_modules 的符号链接。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便