1

我在使用 grunt-contrib-imagemin 时遇到问题,因为我无法使用它来压缩任何图像。

这是我的 Gruntfile.js

module.exports = function(grunt) {

    // 1. All configuration goes here 
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),

        concat: {   
            dist: {
                src: [
                    'css/{base,global,medium,large}.css', // All CSS in the CSS folder
                ],
                dest: 'css/build/production.css',
            }
        },

        cssmin: {
            build: {
                src: 'css/build/production.css',
                dest: 'css/build/production.min.css'
            }
        },

        imagemin: {
            dynamic: {
                files: [{
                    expand: true,
                    cwd: 'if3/images',
                    src: ['**/*.{png,jpg,gif}'],
                    dest: 'images/build'
                }]
            }
        }       

    });

    // 3. Where we tell Grunt we plan to use this plug-in.
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-cssmin'); 
    grunt.loadNpmTasks('grunt-contrib-imagemin');

    // 4. Where we tell Grunt what to do when we type "grunt" into the terminal.
    grunt.registerTask('default', ['concat', 'cssmin', 'imagemin']);

}

当我从命令行运行 grunt 时,每个 concat 和 cssmin 都运行良好,而 imagemin - 尽管运行没有错误 - 返回以下消息。

Running "imagemin:dynamic" (imagemin) task
Minified 0 images (saved 0 B)

有关信息,我的文件夹结构如下。

if3\
  css\
    *.css
  images\
    *.png
    *.jpg
  js\
    *.js
  node_modules\
    etc.
  Gruntfile.js
  package.json
  *.html

图像文件夹当前包含 7 个 PNG 和 2 个 JPG 文件,但我不知道为什么它没有对它们做任何事情。

非常感谢任何帮助。

谢谢

4

2 回答 2

0

您的concatcssminsrc任务中的 -properties不包含. 你的imagemin配置确实如此。删除它可能会有所帮助......if3

imagemin: {
    dynamic: {
        files: [{
            expand: true,
            cwd: 'images',
            src: ['**/*.{png,jpg,gif}'],
            dest: 'images/build'
        }]
    }
}   
于 2014-12-02T15:38:05.010 回答
0

您不需要 use: dynamic {} 或 static {} 并且可以完美运行。

请参阅:Grunt imagemin 正在运行但未缩小

于 2015-10-09T14:54:32.540 回答