Включать только если существует
Я хочу включить файл в gulp, только если он существует, когда я компилирую, для разработки. В настоящее время у меня есть следующее:
gulp.task('compile:js:development', function() {
return gulp.src([
'src/js/**/*.js',
]).pipe(concat('dist.js'))
.pipe(gulp.dest('compiled/js/'))
});
Мне нужно добавить еще один файл в этот массив, но только если этот файл существует. Я видел gulp-if
Но я не думаю, что у меня есть возможность, которую я ищу.
Я также хотел бы предупредить разработчика о том, что этот файл не существует при компиляции для разработки в консоли.
Ответы
Ответ 1
Gulp - это просто приложение node, поэтому вы можете использовать любые функции node в вашем gulpfile. Вы можете легко проверить наличие файла с помощью fs.exists()
gulp.task('compile:js:development', function() {
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');
}
return gulp.src(files)
.pipe(concat('dist.js'))
.pipe(gulp.dest('compiled/js/'))
});