gulp-imagemin如何获取压缩值到变量

时间:2018-05-07 07:25:54

标签: javascript node.js gulp compression imagemin

我试图获得压缩值:原始大小,缩小尺寸和节省空间到变量。到目前为止,我发现只有插件才能在控制台中显示这些数据。

enter image description here

有没有简单的方法可以将控制台中显示的相同数据转换为变量?

我的gulp-imagemin代码:

    gulp.task("compress-images", () =>
    Promise.all([
      new Promise((resolve, reject) => {
        gulp
          .src("./uploads/*")
          .pipe(printSpaceSavings.init())
          .pipe(
            imagemin([
              imageminMozjpeg({ quality: 75 }),
              imagemin.svgo({
                plugins: [{ removeViewBox: true }, { cleanupIDs: false }]
              })
            ])
          )
          .pipe(
            tap(function(file) {
              file.contents = Buffer.from(
                yourFunction(file.contents.toString())
              );
              function yourFunction(input) {
                return input.toString(); // Possible to get this data to a variable?
              }
            })
          )
          .on("error", reject)
          .pipe(printSpaceSavings.print()) //consoleLog
          .pipe(gulp.dest("./compressed"))
          .on("end", resolve);
      })
    ])
  );

1 个答案:

答案 0 :(得分:0)

我不确定变量的范围是否会在gulp任务完成后保留(因为我不知道你的代码是如何构造的),所以我可以给你的一个建议是将值写入文件并且从中检索它以便在前端显示。