在gulp.watch中排除子目录

时间:2014-07-18 22:03:00

标签: javascript node.js gulp

我希望所有文件都深深嵌套在模板中,但在构建后排除任何文件夹。

所以排除目录,例如:

  • ./模板/富/构建/ ** / *

  • ./模板/酒吧/建造/ ** / *

包含目录和文件,如:

  • ./模板/富/ template.html

  • ./模板/富/ CSS / ** / *

  • ./模板/酒吧/ template.html

  • ./模板/酒吧/ CSS / ** / *

目前我正在成功列出子子文件夹名称和子子文件类型

gulp.watch(['templates/*/*.html','templates/*/*.js',
            'templates/*/*.json','templates/*/css/**/*',
            'templates/*/js/**/*'], ['build_templates']);

但我真的希望每次添加特定的子子文件夹或子子文件类型时都能够停止更新表达式。怎么能包括除了?

之外的一切

2 个答案:

答案 0 :(得分:17)

我认为您可以尝试使用build符号排除!子目录。

想想这样的事情,根据你的需要调整它:

gulp.watch([
 'templates/**/*',
 '!templates/*/{build,build/**}'
], ['build_templates'])

您还可以查看Gulp Ignore

答案 1 :(得分:5)

我知道这已经过时了,但你应该在文件夹中排除文件夹中的所有内容,不包括单独的文件夹。

gulp.watch(['templates/**/*','!templates/{foo, bar}/build/**/*'], ['build_templates']);