如果我在循环中运行 Gulp,我应该重新调整什么
What do I retun if I am running Gulp in a loop?
从这篇 StackOverflow 帖子中,我了解到在 gulp 任务中不返回任何内容通常不是一个好主意。我希望调用方等待异步任务。
这是我gulpfile.js
目前的样子:
'use strict';
var gulp = require('gulp'),
uglify = require('gulp-uglify'),
livereload = require('gulp-livereload'),
del = require('del'),
util = require('gulp-util'),
paths = {
scripts: {
main: 'app.js',
controllers: 'controllers/*.js',
services: 'services/*.js'
},
css: 'css/*.css',
html: {
index: 'index.html',
views: 'views/*.html',
directives: 'directives/*.html'
},
bower_components: 'bower_components/*.*'
};
gulp.task('build-js', function() {
var destination;
for (var key in paths.scripts) {
util.log('Building ' + key);
if (/'*'.js$/.test(paths.scripts[key])) { // just so I catch app.js correctly in the paths
destination = 'build/' + paths.scripts[key].slice(0, -4);
} else {
destination = 'build/';
}
gulp.src(paths.scripts[key])
.pipe(uglify())
.pipe(gulp.dest(destination));
}
util.log('returning..');
return;
});
我不确定我应该在我的build-js
任务中返回什么。
执行此操作的最佳做法是什么?我不想安装另一个模块来解决此问题。
谁能指出我正确的方向?
Gulp 将为您迭代所有文件,而无需循环。如果你想做有条件的事情,那就用gulp-if。这是基本思想:
gulp.task('build-js', function() {
var destination;
return gulp.src(paths.scripts)
//.pipe(gulp-if(....))
.pipe(uglify())
.pipe(gulp.dest(destination));
}
});
相关文章:
- 在没有新行的情况下调整td中的动态加载内容
- 调整大小后获取Gridster小部件的新大小
- 加载新内容时调整iframe的高度
- 如何调整此代码,以便它将在新选项卡/窗口中打开重定向
- 可在新行上调整大小的 DIV 制作文本框
- 我可以调整或使用给定的(JavaScript)图表来创建不同的/新的图表吗?
- 如何使用新行调整文本框的大小
- 添加新元素时调整子元素的大小
- Jquery UI 在新元素上可调整大小不起作用
- 在调整大小的新弹出窗口中打开表单
- Javascript新窗口,用于在IE中不调整视频大小
- 插入新元素后,在 extjs 中不会自动触发大小调整
- 在窗口大小调整时写入新文本大小的功能
- 打开窗体会导致新的调整大小的窗口
- 动态添加新数据时调整FancyBox模式的大小
- 调整窗口大小时,获取新宽度和最后一个宽度
- 在屏幕调整大小时为引导程序元素分配新类不起作用
- 砌体重新排列,同时仍然调整大小
- 存储窗口.innerWidth值,并计算与调整大小时的新值的差值
- 打开新的调整大小的窗口的PHP代码