return gulp.src() 是强制性的吗?
is it mandatory to return gulp.src()?
我对 gulp.src()
感到困惑。
根据 this thread 我认为有必要 return gulp.src()
.
gulp 项目中的示例总是 return gulp.src()
。即 gulp intro sample.
然而,许多插件会显示不 return gulp.src()
的文档。即:gulp-less or gulp-angular-templatecache
我应该如何决定我的任务是否应该 return gulp.src()?
您应该始终return gulp.src
以便gulp 可以正确地为您下流。如果流中有大量文件,流可能无法完成。此外,您还可以获得一些其他(次要)好处,例如 运行ner 将记录正确的任务完成时间。
我经常看到人们称赞 gulp 报告的任务需要几微秒才能完成,但他们所做的只是 return 流。但是,如果我们 return 编辑了流,则完成该任务所需的时间也一样长。
不 return 流的另一个问题是设置依赖任务。如果您希望某个任务在另一个任务之前 运行,您需要告诉 gulp 您已完成处理。您可以使用任务的回调函数来执行此操作,也可以通过 returning 流来执行此操作。
我不会 return 流的唯一情况是我在单个任务中有多个流;为此,您可以使用 merge-stream:
var merge = require('merge-stream');
gulp.task('task', function () {
var someOperation = gulp.src('./').pipe(gulp.dest('out'));
var someOtherOperation = gulp.src('./assets').pipe(gulp.dest('out/assets'));
return merge(someOperation, someOtherOperation);
});
所以...虽然它不是强制性,但它是最佳实践。我建议请求那些插件作者的存储库更新他们的 README 文件以表明这一点。
如果您不 return 流,gulp 将报告构建管道所需的时间。如果您 return 流,它将正确报告执行任务所需的时间。
我对 gulp.src()
感到困惑。
根据 this thread 我认为有必要 return gulp.src()
.
gulp 项目中的示例总是 return gulp.src()
。即 gulp intro sample.
然而,许多插件会显示不 return gulp.src()
的文档。即:gulp-less or gulp-angular-templatecache
我应该如何决定我的任务是否应该 return gulp.src()?
您应该始终return gulp.src
以便gulp 可以正确地为您下流。如果流中有大量文件,流可能无法完成。此外,您还可以获得一些其他(次要)好处,例如 运行ner 将记录正确的任务完成时间。
我经常看到人们称赞 gulp 报告的任务需要几微秒才能完成,但他们所做的只是 return 流。但是,如果我们 return 编辑了流,则完成该任务所需的时间也一样长。
不 return 流的另一个问题是设置依赖任务。如果您希望某个任务在另一个任务之前 运行,您需要告诉 gulp 您已完成处理。您可以使用任务的回调函数来执行此操作,也可以通过 returning 流来执行此操作。
我不会 return 流的唯一情况是我在单个任务中有多个流;为此,您可以使用 merge-stream:
var merge = require('merge-stream');
gulp.task('task', function () {
var someOperation = gulp.src('./').pipe(gulp.dest('out'));
var someOtherOperation = gulp.src('./assets').pipe(gulp.dest('out/assets'));
return merge(someOperation, someOtherOperation);
});
所以...虽然它不是强制性,但它是最佳实践。我建议请求那些插件作者的存储库更新他们的 README 文件以表明这一点。
如果您不 return 流,gulp 将报告构建管道所需的时间。如果您 return 流,它将正确报告执行任务所需的时间。