【发布时间】:2014-07-06 20:30:38
【问题描述】:
所以我一直在尝试 Gulp,看看它在速度方面与 Grunt 相比如何,结果给我留下了深刻的印象,但我有一件事我不知道如何在 Gulp 中做。
所以我有这个 gulp 任务来缩小 HTML:
gulp.task('html-minify', function() {
var files = [
relativePaths.webPath + '/*.html',
relativePaths.webPath + '/components/**/*.html',
relativePaths.webPath + '/' + relativePaths.appPath + '/components/**/*.html'
];
var changedFiles = buildMetaData.getChangedFiles(files);
//TODO: needs to execute only after successful run of the task
buildMetaData.addBuildMetaDataFiles(changedFiles);
buildMetaData.writeFile();
return gulp.src(changedFiles, {
base: relativePaths.webPath
})
.pipe(filelog())
.pipe(minifyHtml({
empty: true,
quotes: true,
conditionals: true,
comments: true
}))
.pipe(gulp.dest(relativePaths.webPath + '/' + relativePaths.appPath + '/' + relativePaths.buildPath));
});
buildMetaData 对象具有我需要的自定义功能,以及为什么我不能使用像 gulp-changed 这样的插件。我想弄清楚的是如何(如果可能的话)在缩小完成处理所有文件并成功运行后运行代码块。使用 gulp 可以实现这样的事情吗?
【问题讨论】:
-
如果 Gulp 本身在所有任务完成后没有发出事件,我会感到非常惊讶和失望..