У меня есть неизвестное количество папок внутри каталога с именем app
, которые я перебираю, чтобы создать folderName.min.js
для каждой.
Глотковый скрипт:
var es = require('event-stream');
var uglify = require('gulp-uglifyjs');
var fs = require('fs');
var path = require('path');
function getFolders(dir) {
return fs.readdirSync(dir)
.filter(function (file) {
return fs.statSync(path.join(dir, file)).isDirectory();
})
}
gulp.task('js', function () {
var folders = getFolders('./src/app/');
var streams = folders.map(function (folder) {
return gulp.src(folder + '**/*.js')
.pipe(uglify(folder + '.min.js', {
mangle: true
}))
.pipe(gulp.dest('./dist/js'))
});
return es.concat.apply(null, streams);
});
Проблема, с которой я сталкиваюсь, заключается в том, что не каждая папка содержит *.js
файлов. Когда gulp-uglifyjs сталкивается с этим случаем, я получаю
gulp-uglifyjs - No files given; aborting minification
и поток прерывается, и все последующие задачи не запускаются. Могу ли я
а) скажите uglifyjs, чтобы он продолжал действовать в любом случае, если он столкнется с этим случаем
б) пропустить задачу, если gulp.src не вернул файлов?