允许'说我有20个任务,都抓住不同的文件类型并执行不同的事情。
我们还说我有两个环境,即开发和生产。
基本上,我希望有一个类似这样的目录结构:
/app
/product
product.main.ctrl.js
product.add.development.ctrl.js
在标准开发模式下运行时,我希望应用程序能够像通常那样编译几乎所有的javascript。
但如果我在生产模式下运行gulp,我想要排除其中包含development
字样的所有文件。
我想知道是否有办法一次性扩展所有任务,而不是仅仅手动将排除添加到每个任务:
// default task, I'd like to automatically extend this and exclude depending on evn.
gulp.task('scripts:main', function() {
return gulp.src('/app/**/*.js', streamFunction);
});
// a working example of what I'd like to do
gulp.task('scripts:main', function() {
return gulp.src(['/app/**/*.js', '!/app/**/*.development.js'], streamFunction);
});
所以上面有默认情况,我想扩展,只是默认情况下,否则我排除dev文件,方案2是可行的,但我不想要将其添加到每个任务中。
这可能吗?
答案 0 :(得分:0)
通常您应该使用配置设置在所有任务中使用
var config = {
jsProd : ['/app/**/*.js', '!/app/**/*.development.js'],
jsDev : ['/app/**/*.js']
}
这使得路径更具可重用性......
在你的任务中,只需使用配置变量
gulp.task('scripts:main', function() {
return gulp.src(config.jsProd, streamFunction);
});
这是按照约翰爸爸的风格指南