2017-04-26 11 views
1

잠시 gulp-imagemin을 사용하고 있지만 몇 달 전에 압축 된 이미지로 인해 Google 페이지 속도가 만족스럽지 않은 것으로 나타났습니다. 모든 설정 조합을 시도했지만 결과가 없습니다. 또한 imagemin-cli와 direct jpegtran을 시도해 보았습니다 - 큰 이미지에서 2-5 % 압축을 제공하고 tinyfy는 50 %를 제공합니다. 일부 구름 최적화 도구 (tinify)를 사용할 때 올바른 압축을 제공합니다. 나도 꿀꺽 사용할 수 있습니다 https://www.npmjs.com/package/imagemin-jpeg-recompress를 사용하여 그것을 해결Google 페이지 속도 통계에는 충분하지 않습니까?

gulp.task('imagemin', function() { 
     return gulp.src(input_files) 
      .pipe(newer(output_path)) 
      .pipe(imagemin([ 
       imagemin.gifsicle({interlaced: true}), 
       imagemin.jpegtran({progressive: true}), 
       imagemin.optipng({optimizationLevel: 7}), 
       imagemin.svgo({plugins: [{removeViewBox: true}]}) 
      ],{verbose:true}).on('error', gutil.log)) 
      .pipe(gulp.dest(output_path)); 
}); 

답변

2

내가 얻을 수있는 베스트 (나는 손실을 가정) : 실제 크기는 다음 몇 가지 구글 페이지 스피드 해상도에 크기를 표시 큰 경우

const imageminMozJpeg = require(config.nm + 'imagemin-mozjpeg'); 
const imageminPngQuant = require(config.nm + 'imagemin-pngquant'); 
gulp.task('imagemin', function() { 
    return gulp.src(input_files) 
     .pipe(newer(output_path)) 
     .pipe(imagemin([ 
      imagemin.gifsicle({interlaced: true}), 
      imageminMozJpeg(), 
      imageminPngQuant({quality:'85-100'}), 
      imagemin.svgo({plugins: [{removeViewBox: true}]}) 
     ])) 
     .pipe(gulp.dest(output_path)); 
}); 

구글은 반응 이미지 여전히 불행 =/

+0

srcset을 사용해 보셨습니까? https://developer.mozilla.org/de/docs/Web/HTML/Element/img#Example_3_Using_the_srcset_attribute – moesphemie

+0

예,하지만 망막에만 해당됩니다. 크기 구분 점에 적합하다는 것을 알고 있지만, 지금은 워크 플로우를 변경하고 반응 규칙에 따라 여러 이미지를 만드는 것은 꽤 어렵습니다. (일부 이미지는 작아지고 일부 이미지는 작아짐). 그래서 이미지를 수동으로 크기 조정하지 않고 무언가를 만들면 멋질 것입니다. 해결책이 있는지 알려주세요. – MadDocNC

2

: 같은

나의 현재 꿀꺽 작업이 보인다.

나는 ES2015 내 경우 꿀꺽 4 콜백 자신의 파일에 상주 작업을 사용하고 있습니다,하지만 당신은 내 코드를보고 생각을해야합니다

'use strict'; 

import config from '../config'; 
import gulp from 'gulp'; 
import imagemin from 'gulp-imagemin'; 
import imageminJpegRecompress from 'imagemin-jpeg-recompress'; 

export default function() { 
    return gulp.src([config.jekyll.imagedir + config.glob.deep.image]) 
    .pipe(imagemin([ 
     imagemin.gifsicle({interlaced: true}), 
     imageminJpegRecompress({progressive: true, method: 'smallfry', quality: 'veryhigh'}), 
     imagemin.optipng(), 
     imagemin.svgo({plugins: [{cleanupIDs: false}]}) 
    ], {verbose: true})) 
    .pipe(gulp.dest(config.jekyll.imagedir)); 
}; 

그러나 인식이 그 손실 알고리즘을 사용하여 JPEG 파일을 압축하는 것을 의미하는 반면, https://github.com/imagemin/imagemin-jpegtran (기본값 : gulp-imagemin에서 사용됨)은 무손실 변환 만 수행합니다.

+0

나는 현재 mozjpeg 및 pngquant에서 더 나은 결과를 보여줍니다. – MadDocNC

+0

mozjpeg를 시도했지만 더 나은 결과를 얻지 못했습니다. 그러나 솔직히 나는 다른 구성을 시도하지 않았습니다. 어떤 설정을 사용하고 있는지 물어봐도 될까요? – derbenni

+0

주석에 코드를 넣을 수 없습니다. 답을보십시오. – MadDocNC