GruntJS和imagemin,可以覆盖'src'吗?

时间:2016-03-30 13:40:39

标签: gruntjs grunt-contrib-imagemin

我有一个grunt脚本(由其他人编写),它正在缩小图像,但源和目标是相同的文件夹,在我看来似乎是用缩小的图像覆盖源。

以下是gruntfile.js

的一节
imagemin: {
      options: {
        compress: true
      },
      dist   : {
        files: [
          {
            expand: true,
            cwd   : 'templates',
            src   : ['**/*.{png,jpg,gif}'],
            dest  : 'templates'
          }
        ]
      }
    }

还有一个'监视'任务,正在使用'更新',因此文件不会被重新处理。

这可以吗?或者源和目的地是否总是不同?我不认为'jpg'和'gif'会带来'无损'的味道。我被告知,因为脚本使用的是“更新”,所以它会保留缓存,以便在重新启动后继续运行。

1 个答案:

答案 0 :(得分:0)

这听起来像是一个可怕的想法。 (我的意思是它写的是覆盖同一个目录,这太疯狂了!)

你绝对可以将src更改为src: ['large/**/*.{png,jpg,gif}'],并删除原始图像。

newer仍会跟踪哪些文件已被压缩,但您仍然可以在单独的large文件夹中访问原始高分辨率图像。

MORE:

虽然在我自己的项目中,我在项目的顶级目录中有一个src文件夹,因此src/img/**/*被压缩并输出到img。它是源文件之间的完全分割,它们都位于顶级src目录中,而生产就绪是静态站点顶部的src以外的所有内容,或dest/build/whatever目录中的所有内容在顶部参与更多项目。