如果文件夹中有可用的文件,则将任务打包到concat javascript,否则从其他地方获取它们
为了便于解释,让我们想象一下这个文件夹结构:`如果文件夹中有可用的文件,则将任务打包到concat javascript,否则从其他地方获取它们,javascript,node.js,if-statement,gulp,concat,Javascript,Node.js,If Statement,Gulp,Concat,为了便于解释,让我们想象一下这个文件夹结构:` base - folder-a - script.js - folder-b - script.js - folder-c - script.js custom - folder-a - script.js - folder-b 我有一个吞咽任务,要把base/folders中所有文件夹的script.js gulp.task('componentsJs', func
base
- folder-a
- script.js
- folder-b
- script.js
- folder-c
- script.js
custom
- folder-a
- script.js
- folder-b
我有一个吞咽任务,要把base/folders
中所有文件夹的script.js
gulp.task('componentsJs', function() {
return gulp.src('./components/**/*.js')
.pipe(concat('components-min.js'))
.pipe(gulp.dest('./js/min'))
.pipe(rename( {
basename: "components",
suffix: '-min'
}))
//.pipe(uglify())
.pipe(gulp.dest('./js/min/'))
.pipe(notify({ message: 'Components scripts task complete', onLast: true }));
});
所以我想做的是:让一个任务包含每个自定义/文件夹
的所有script.js,如果自定义/文件夹
中有一个script.js
文件,它应该使用这个脚本(例如自定义/文件夹-a/scripts.js
),如果没有脚本.js
(例如自定义/文件夹-b//code>)script.js不是定制的,因此它应该回退到base/folder-b/script.js
要求如下:
- 子文件夹应该有任何文件夹名(例如
folder-a
)
- 如果自定义文件夹中不存在,则应忽略其
script.js
我在stackoverflow上找到了一个if语句,我尝试这样做:
var fs = require('fs'),
files = ['src/js/**/*.js'],
extraFile = 'path/to/other/file';
if( fs.existsSync(extraFile)) {
files.push(extraFile);
} else {
console.log('FILE DOES NOT EXIST');
}
有什么建议吗