我的源文件夹中有一个APK文件,我只想用gulp任务获取该文件的大小(以字节为单位),并在XML文件中更新该大小。
以下是我的gulp任务:
gulp.task('geteditmscript', function(){
gulp.src("source/deployment.xml")
.pipe(xeditor([
{path: '//SCRIPT', attr: {'revision': json.version}},
{path: '//APP', attr: {'size': gulp.src('source/*.apk').pipe(size())}}
]))
.pipe(gulp.dest("source/"));
});
答案 0 :(得分:0)
您的代码无效,因为gulp.src('source/*.apk').pipe(size())
没有返回文件大小。它返回stream。
虽然gulp-size
允许您通过.size
property访问所有文件的总大小,但只有在处理完所有文件后才能使用。
这意味着您需要延迟xeditor()
流,直到size()
流完成为止。您可以通过将其放入on('finish', ...)
处理程序来完成此操作:
gulp.task('geteditmscript', function(cb) {
var apkSize = size();
gulp.src('source/*.apk')
.pipe(apkSize)
.on('finish', function() {
gulp.src("source/deployment.xml")
.pipe(xeditor([
{path: '//SCRIPT', attr: {'revision': json.version}},
{path: '//APP', attr: {'size': apkSize.size }}
]))
.pipe(gulp.dest("source/"))
.on('end', cb);
});
});