圖片壓縮工具:grunt-contrib-imagemin


  我們平時使用Photoshop 切出的圖片,都含有一些不需要的信息或者多余的顏色值,這些信息和顏色值,對網頁顯示並沒有用處,反而增加圖片大小,Google Pagespeed 建議我們對於JPEG文件,使用jpegtran或jpegoptim(僅適用於Linux;使用--strip-all選項運行)。對於PNG文件,使用OptiPNG或PNGOUT。減小圖片大小,就可以減少用戶下載的文件大小,加快頁面訪問速度。

  對於不同格式的圖片,我們需要用pegtran/jpegoptim/OptiPNG/PNGOUT 的工具,這樣對於前端開發費時費力,grunt-contrib-imagemin封裝了這些壓縮功能;大大方便了我們優化的工作.

  安裝 :npm install grunt-contrib-imagemin --save-dev

  配置 :詳細見https://github.com/gruntjs/grunt-contrib-imagemin

  代碼例子:

module.exports = function (grunt) {
    'use strict';
    grunt.initConfig({
        imagemin: {
            /* 壓縮圖片大小 */
            dist: {
                options: {
                    optimizationLevel: 3 //定義 PNG 圖片優化水平
                },
                files: [{
                    expand: true,
                    cwd: 'imgs/',
                    src: ['**/*.{png,jpg,jpeg,gif}'], // 優化 img 目錄下所有 png/jpg/jpeg/gif圖片
                    dest: 'imgs/' // 優化后的圖片保存位置,覆蓋舊圖片,並且不作提示
                }]
            }
        },
    });
    grunt.loadNpmTasks('grunt-contrib-imagemin');
    grunt.registerTask('img', ['imagemin']);
};

  存在的問題:

  1、0.9.2版本,在win7系統32位,64位有問題,無法壓縮jpg,運行的時候報錯.

  可以在https://github.com/imagemin/jpegtran-bin/releases下載文件后獲取里面的

  jpegtran-bin-2.0.2->jpegtran-bin-2.02->vendor-win-x64里的兩個文件:

  jpegtran.exe  libjpeg-62.dll,覆蓋到node_modules\grunt-contrib-imagemin\node_modules\imagemin\node_modules\imagemin-jpegtran\node_modules\jpegtran-bin\vendor\下即可

  2、壓縮后的png圖片,半透明的效果在IE6下顯示有問題,壓縮前正常,壓縮后圖片消失不可見,其他瀏覽器正常。原因不詳。0.9.2出現,在最新版本未測試過。

  3、最新版本貌似0.9.4沒這個問題,但是默認壓縮后的大小卻相差很多,具體原因不詳。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM