首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Gulp-Watch多个文件?

如何使用Gulp-Watch多个文件?
EN

Stack Overflow用户
提问于 2014-12-25 15:23:49
回答 6查看 74.6K关注 0票数 73

我有这样的东西:

代码语言:javascript
复制
gulp.task('default', ['css', 'browser-sync'] , function() {

    gulp.watch(['sass/**/*.scss', 'layouts/*.css'], function() {
        gulp.run('css');
    });

});

但它不起作用,因为它监视两个目录,sass和layout目录的更改。

我如何让它工作,以便gulp监视这些目录中发生的任何事情?

EN

回答 6

Stack Overflow用户

发布于 2014-12-25 23:41:58

你可以像这样写一块手表。

代码语言:javascript
复制
gulp.task('watch', function() {
    gulp.watch('path/to/file', ['gulp task name for css/scss']);
    gulp.watch('path/to/file', ['gulp task name for js']);
});

通过这种方式,您可以通过您想要监视的文件路径,后跟您创建的任务的名称来设置任意多个任务。然后你可以像这样写你的默认值:

代码语言:javascript
复制
gulp.task('default', ['gulp task name for css/scss', 'gulp task name for js']);

如果你想简单地观察各种文件的变化,那么只需要在你的任务中使用*.css这样的glob来观察文件。

票数 62
EN

Stack Overflow用户

发布于 2015-04-14 09:56:44

多个人(包括我)都会遇到的一个问题是,在任务之外添加gulp.filter会导致gulp.watch在第一次通过后失败。所以如果你有这样的东西:

代码语言:javascript
复制
var filter = gulpFilter(['fileToExclude.js'])
gulp.task('newTask', function(){ ...

然后,您需要将其更改为:

代码语言:javascript
复制
gulp.task('newTask', function(){
  var filter = gulpFilter(['fileToExclude.js'])

过滤器必须包含在任务函数中。希望这能帮助到一些人。

票数 10
EN

Stack Overflow用户

发布于 2018-11-10 01:05:06

这对我很有效(Gulp 4):

代码语言:javascript
复制
function watchSass() {
  return gulp.watch(sassGlob, { ignoreInitial: false }, buildCss)
}

function watchImages() {
  return gulp.watch(imagesGlob, copyImages)
}

exports.watch = gulp.parallel(watchSass, watchImages)
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27645103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档