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

Posted

技术标签:

【中文标题】Grunt.js 和 imagemin - 找不到“imagemin”目标【英文标题】:Grunt.js and imagemin - No "imagemin" targets found 【发布时间】:2013-12-11 12:19:50 【问题描述】:

我正在尝试自学 Grunt.js 的基础知识,但我发现它并不直观。

我已经完成了工作 - 我可以查看目录、缩小 JS 并编译我的 compass / 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/ 目录中。

【问题讨论】:

【参考方案1】:

您的imagemin 是您的watch 任务的子任务。如果你把它拿出来,它会起作用的。

这是 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']
            
        ,
    ,
);

【讨论】:

你是对的,确实如此!谢谢你。我想我也明白了,那很好,我学到了一些东西;o)【参考方案2】:

imagemin 是 watch 的一个子任务。至此,您需要像这样称呼它watch:imagemin

和你使用 compass:dev 的方法一样

【讨论】:

以上是关于Grunt.js 和 imagemin - 找不到“imagemin”目标的主要内容,如果未能解决你的问题,请参考以下文章

使用grunt时找不到模块'karma'

如何使用 imagemin-cli 设置 jpeg 质量?

Grunt:将文件名插入文件中

gulp-imagemin@8.0.0 不能用来找我

gulp 插件之 gulp-imagemin,imagemin-pngquant-gfw 和 gulp-cache

如何使用 Grunt.js (0.3.x) 连接和缩小多个 CSS 和 JavaScript 文件