gulp学习之察言观色watch函数
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的用法。
相关文章
Angular CLI Webpack 配置
发布时间:2023/04/12 浏览次数:123 分类:Angular
-
Angular CLI 提供了用于创建项目、添加和运行测试、生成组件、服务、管道、脚手架模块、特性等的命令。CLI 还提供了一个 webpack 配置文件。
在 Vue 中watch监听一个对象时,如何排除某些属性的监听
发布时间:2023/03/31 浏览次数:223 分类:Vue
-
在 Vue 中使用 watch 时,你可能需要监听一个对象,但只关心对象中的某些属性,而不是对象的所有属性。这种情况下,你可以使用深度监听和计算属性,或者在 watch 中添加一些选项来排
在 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 脚本来解码这个
修复 Node.js 中的 Error: Cannot Find Module 'Webpack'
发布时间:2023/03/27 浏览次数:102 分类:Node.js
-
在这篇文章中,我们将学习如何解决Node.js 中的 Error: cannot find module 'webpack' 。
AngularJs $watchcollection
发布时间:2023/03/24 浏览次数:197 分类:Angular
-
本教程演示了什么是 $watchcollection 以及如何在 AngularJs 中使用它。
在 Ubuntu 和 Debian 上配置 Apache Web 服务器
发布时间:2023/03/17 浏览次数:146 分类:操作系统
-
本教程展示了在 Ubuntu 和 Debian 上安装和设置 apache 网络服务器以及使用访问日志。
解决 Cannot find module 'webpack' 错误
发布时间:2022/09/16 浏览次数:162 分类:学无止境
-
要解决“Cannot find module 'webpack'”错误,需要确保通过运行 npm i -g webpack 命令全局安装 webpack,并通过运行 npm link webpack 命令创建从全局安装的包到 node_modules 的符号链接。