0

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

这是 gruntfile.js 的一部分

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

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

这个可以吗?或者来源和目的地应该总是不同的?我不认为“jpg”和“gif”具有“无损”的味道。有人告诉我,因为脚本使用的是“较新”,所以它会缓存它所做的工作,以便在重新启动后幸存下来。

4

1 回答 1

0

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

您绝对可以将 src 更改为src: ['large/**/*.{png,jpg,gif}'],并将原始图像放在那里。

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

更多的:

虽然在我自己的项目中,我在项目src的顶级目录中有一个文件夹,因此src/img/**/*被压缩并输出为img. 这是源文件之间的完全拆分,所有源文件都位于顶级src目录中,生产就绪是除了src静态站点的顶部之外的所有内容,或者位于dest/build/whatever顶部更多涉及项目的目录中。

于 2016-03-30T13:58:53.710 回答