gulp-imagemin как получить сжатое значение в переменную - PullRequest
0 голосов
/ 07 мая 2018

Я пытался получить сжатую величину: оригинальный размер, минимизированный размер и экономию места в переменной. Пока только плагины, которые я нашел, показывают эти данные только в консоли.

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 голосов
/ 07 мая 2018

Я не уверен, останется ли область действия переменной после завершения задачи gulp (поскольку я не знаю, как структурирован ваш код), поэтому я мог бы дать вам одно предложение: записать значение в файл и извлечь его из него для отображения в интерфейсе.

...