Grunt.js和imagemin - 找不到“imagemin”目标

时间:2013-12-11 12:19:51

标签: gruntjs

我正在尝试自学Grunt.js的基础知识,我发现它只是直觉。

我已经有了它的工作 - 我能够观看目录,minifiy JS并编译我的指南针/ sass文件。

我现在遇到的问题是使用https://npmjs.org/package/grunt-contrib-imagemin

缩小图像

运行$ grunt时,我一直收到以下错误:

No "imagemin" targets found

我这里有我的gruntfile:https://github.com/Tjobbe/sample-grunt-project/blob/master/gruntfile.js和我的git repo:https://github.com/Tjobbe/sample-grunt-project所以你可以看到我的目录设置。

知道为什么这不起作用?理想情况下,我希望它不断轮询目录以查看是否有任何新文件,然后缩小它们并将它们放入src / img /目录。

2 个答案:

答案 0 :(得分:2)

您的imageminwatch任务的子任务。如果你把它拿出来,那就行了。

这是Gruntfile.js

的一部分
        watch: {
        compass: {
            files: ['dev/sass/*.sass'],
            tasks: ['compass:dev']
        },
        js: {
            files: ['dev/js/*.js'],
            tasks: ['uglify']
        }
    },
    compass: {
        dev: {
            options: {
                sassDir: ['dev/sass/'],
                cssDir: ['src/css/'],
                environment: 'development'
            }
        },
        prod: {
            options: {
                sassDir: ['dev/sass/'],
                cssDir: ['src/css/'],
                environment: 'production'
            }
        },
    },
  imagemin: {
    dynamic: {
      files: [{
        expand: true,
        cwd: 'dev/img/',
        src: ['dev/img/*.{png,jpg,gif}'],
        dest: 'src/img/'
      }]
    }
  },
    uglify: {
        all: {
            files: {
                'src/js/min.js': [
                'dev/js/*.js']
                // 'js/*.js']
            }
        },
    },
});

答案 1 :(得分:0)

imagemin是手表的子任务。在此,您需要像watch:imagemin

一样调用它

与使用指南针的方式相同:dev