[英]How to determine when the gulp task running browserify is complete?
我有这样一个gulp任务
gulp.task("js-min", function () {
browserify(config.paths.mainJs)
.transform(reactify)
.bundle()
.pipe(source('tec.min.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.pipe(sourcemaps.write(config.paths.dist))
.pipe(gulp.dest(config.paths.dist));
});
创建应用程序的缩小版本。 它通过gulp-watch
任务定期运行。 我看到的问题是, gulp
告诉我这个任务在30ms完成,但是如果我检查正在生成的文件,则需要另外30秒才能看到正在更新的实际新文件。
如何更改gulp任务js-min
以便确切知道文件系统中文件何时完成更新。
有两种解决方案,并且不知道您使用的是什么browserify
包。
如果它是基于promise的,那么只需编辑您的代码即可返回该承诺:
gulp.task("js-min", function () {
return browserify(config.paths.mainJs)
如果不答应为主,那么它将有某种的的onend
或done
法,需要一个回调。 在这种情况下,它会是这样的:
gulp.task("js-min", function (done) {
browserify(config.paths.mainJs)
.transform(reactify)
.bundle()
.pipe(source('tec.min.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.pipe(sourcemaps.write(config.paths.dist))
.pipe(gulp.dest(config.paths.dist))
// THIS IS THE LINE TO CHANGE
.onfinish(done);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.