如何在单个Gulpjs任务中预先添加已缩小的文件?

我想尝试Gulpjs,因为它看起来非常快。 我不明白如何翻译Gulpjs中的以下(部分)Gruntjsconfiguration。

基本上目的是uglify项目文件加上一些外部依赖 (还没有缩小), 并预先已经缩小一些依赖关系 ,以避免已经缩小的来源的缩小过程。

uglify: { dist: { src: [ '<%= deps %>/bootstrap-daterangepicker/daterangepicker.js', '<%= deps %>/smalot-bootstrap-datetimepicker/js/locales/*.js', 'src/js/**/*.js', ], dest: '<%= clean.dist %>/js/<%= pkg.name %>.min.js' } }, concat: { dist: { src: [ '<%= deps %>/jquery/dist/jquery.min.js', '<%= deps %>/bootstrap/dist/js/bootstrap.min.js', '<%= deps %>/momentjs/min/moment-with-langs.min.js', '<%= uglify.dist.dest %>' ], dest: '<%= uglify.dist.dest %>' } }, 

我怎么能在Gulpjs做同样的事情? 这甚至有可能吗?

现在我的任务(不工作,结果只是jquery.min.js内容)看起来像:

 gulp.task('uglify', function() { gulp.src([ './bower_components/bootstrap-daterangepicker/daterangepicker.js', './bower_components/smalot-bootstrap-datetimepicker/js/locales/*.js', './src/js/**/*.js' ]) .pipe(uglify()) .pipe(concat('admin-template.js')) .pipe(gulp.dest('./dist/js')); }); // Doesn't work gulp.task('concat', ['uglify'], function () { gulp.src([ 'bower_components/jquery/dist/jquery.min.js', './dist/js/admin-template.js' // output of uglify task ]) .pipe(concat('admin-template.js')) .pipe(gulp.dest('./dist/js/')); }); 

如果你想让你的“concat”任务依赖你的“uglify”任务成功完成,你需要从你的“uglify”任务中返回stream(或者使用其他方法 )。

无论哪种方式,你当然应该简化这个。

你可以看看这个其他的线索的想法。 我可能会使用gulp-if或event-stream。

看看这里以及: https : //github.com/gulpjs/gulp/blob/master/docs/recipes/using-multiple-sources-in-one-task.md