我想尝试 Gulpjs,因为它看起来非常快。我无法理解如何在 Gulpjs 中翻译以下(部分)Gruntjs 配置。
基本上,目的是丑化项目文件加上一些外部依赖项(尚未缩小)并在前面添加一些已经缩小的依赖项,以避免对已经缩小的源进行缩小过程。
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”任务返回流(或使用 another method )。
无论哪种方式,您都应该简化它。
您可以看看这个other SO thread寻求想法。我可能会使用 gulp-if 或 event-stream。
也看看这里:https://github.com/gulpjs/gulp/blob/master/docs/recipes/using-multiple-sources-in-one-task.md
关于node.js - 如何在单个 Gulpjs 任务中添加已经缩小的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22132295/