防止Grunt在目标目录中运行

时间:2014-08-15 09:44:31

标签: javascript gruntjs minify grunt-contrib-imagemin imagemin

目前正试图计算Grunt,我配置的第一个依赖项是 grunt-contrib-imagemin

我的代码目前看起来像这样:

module.exports = function(grunt) {
  // Parse JSON
   grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
  // Configure tasks
  imagemin: {
    dynamic: {
      files: [{
        expand: true,
        cwd: 'img/',
        src: ['**/*.{png,gif,jpg}'],
        dest: 'img/build/'
      }]
    }
  }
  });
  // Load tasks
  grunt.loadNpmTasks('grunt-contrib-imagemin');
  // Register tasks
  grunt.registerTask('default', ['imagemin']);
};

现在,这一切都在第一次运行时正常工作,但是,第二次运行时会出现问题。它第一次巧妙地缩小我的图像并将它们放在'img / build /'中。第二次以及随后的运行时间,它不仅缩小了cwd中的文件,还缩小了目标目录中的文件,创建了一个新的“build”文件夹等等。

有没有办法阻止Grunt缩小目标目录中的文件?

1 个答案:

答案 0 :(得分:0)

您的目标目录位于源目录中。您还在img/中查找所有图像文件(可在img/build中找到文件)。

如果您仍希望以这种方式保留,请尝试将['**/*.{png,gif,jpg}', '!build/']作为src,或者更改目标目录。