【发布时间】:2014-06-29 16:30:08
【问题描述】:
我在名为 app 的目录中有未知数量的文件夹,我正在循环遍历这些文件夹,为每个文件夹创建一个 folderName.min.js。
Gulp 脚本:
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
并且流中止并且所有后续任务都不会运行。我可以吗
a) 告诉 uglifyjs 在遇到这种情况时继续进行
b) 如果 gulp.src 没有返回文件,则跳过任务?
【问题讨论】:
标签: javascript node.js gulp uglifyjs