Gruntjs 无法使用grunt imagemin优化文件夹内的图像

Gruntjs 无法使用grunt imagemin优化文件夹内的图像,gruntjs,grunt-contrib-imagemin,Gruntjs,Grunt Contrib Imagemin,我正在尝试用grunt的优化图像 我的目录结构如下所示: 公开 主要 上传 折叠1 福尔德 在每个文件夹1..N中都有文件。它们都是.jpg 我想要实现的是尝试优化所有这些功能,并使用新版本(同名)对其进行更改。我从一个更简单的任务开始优化它们,并将它们复制到另一个文件夹(publicmages)以保持相同的结构 查看文档,我得到了以下JSON片段: imagemin: { dynamic: { files: [{ expand: t

我正在尝试用grunt的优化图像

我的目录结构如下所示:

  • 公开
    • 主要
    • 上传
      • 折叠1
      • 福尔德
在每个文件夹1..N中都有文件。它们都是.jpg

我想要实现的是尝试优化所有这些功能,并使用新版本(同名)对其进行更改。我从一个更简单的任务开始优化它们,并将它们复制到另一个文件夹(
publicmages
)以保持相同的结构

查看文档,我得到了以下JSON片段:

imagemin: {
    dynamic: {
        files: [{
            expand: true,
            cwd: 'publicImg/',
            src: ['*.jpg'],
            dest: 'publicImages/'
        }]
    }
}

这告诉我
缩小了0个图像(保存了0b)
,我尝试使用
***jpg
***.{jpg}
,但仍然具有相同的效果。如何正确地完成它?

下一个配置完全适合我。在您描述的环境中测试

package.json

{
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-contrib-imagemin": "^0.7.1"
  }
}
module.exports = function (grunt) {
  grunt.initConfig({
    imagemin: {
      dynamic: {
        files: [{
          expand: true,
          cwd: 'publicImg/',
          src: ['**/*.jpg'],
          dest: 'publicImages/'
        }]
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-imagemin');
  grunt.registerTask('default', ['imagemin']);
};
raiden@toluca:~/projects/test$ tree publicImg/
publicImg/
├── main
└── upload
    ├── folder1
    │   ├── 2499085-metal-gear-solid-5-exteded-e3.jpg
    │   └── url.htm
    ├── folder2
    │   └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
    └── folder3
        ├── 2574364-8751006069-14019.jpg
        ├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
        └── Metal_Gear_Solid_V_Screenshot.jpg

5 directories, 6 files
raiden@toluca:~/projects/test$ grunt
Running "imagemin:dynamic" (imagemin) task
✔ publicImg/upload/folder1/2499085-metal-gear-solid-5-exteded-e3.jpg (saved 8.99 kB - 7%)
✔ publicImg/upload/folder2/metal-gear-solid-5-ground-zeroes-collectibles.jpg (saved 8.5 kB - 25%)
✔ publicImg/upload/folder3/2574364-8751006069-14019.jpg (already optimized)
✔ publicImg/upload/folder3/Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg (saved 2.22 kB - 3%)
✔ publicImg/upload/folder3/Metal_Gear_Solid_V_Screenshot.jpg (already optimized)
Minified 5 images (saved 19.71 kB)

Done, without errors.
raiden@toluca:~/projects/test$ tree publicImages/
publicImages/
└── upload
    ├── folder1
    │   └── 2499085-metal-gear-solid-5-exteded-e3.jpg
    ├── folder2
    │   └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
    └── folder3
        ├── 2574364-8751006069-14019.jpg
        ├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
        └── Metal_Gear_Solid_V_Screenshot.jpg

4 directories, 5 files
grunfile.js

{
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-contrib-imagemin": "^0.7.1"
  }
}
module.exports = function (grunt) {
  grunt.initConfig({
    imagemin: {
      dynamic: {
        files: [{
          expand: true,
          cwd: 'publicImg/',
          src: ['**/*.jpg'],
          dest: 'publicImages/'
        }]
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-imagemin');
  grunt.registerTask('default', ['imagemin']);
};
raiden@toluca:~/projects/test$ tree publicImg/
publicImg/
├── main
└── upload
    ├── folder1
    │   ├── 2499085-metal-gear-solid-5-exteded-e3.jpg
    │   └── url.htm
    ├── folder2
    │   └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
    └── folder3
        ├── 2574364-8751006069-14019.jpg
        ├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
        └── Metal_Gear_Solid_V_Screenshot.jpg

5 directories, 6 files
raiden@toluca:~/projects/test$ grunt
Running "imagemin:dynamic" (imagemin) task
✔ publicImg/upload/folder1/2499085-metal-gear-solid-5-exteded-e3.jpg (saved 8.99 kB - 7%)
✔ publicImg/upload/folder2/metal-gear-solid-5-ground-zeroes-collectibles.jpg (saved 8.5 kB - 25%)
✔ publicImg/upload/folder3/2574364-8751006069-14019.jpg (already optimized)
✔ publicImg/upload/folder3/Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg (saved 2.22 kB - 3%)
✔ publicImg/upload/folder3/Metal_Gear_Solid_V_Screenshot.jpg (already optimized)
Minified 5 images (saved 19.71 kB)

Done, without errors.
raiden@toluca:~/projects/test$ tree publicImages/
publicImages/
└── upload
    ├── folder1
    │   └── 2499085-metal-gear-solid-5-exteded-e3.jpg
    ├── folder2
    │   └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
    └── folder3
        ├── 2574364-8751006069-14019.jpg
        ├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
        └── Metal_Gear_Solid_V_Screenshot.jpg

4 directories, 5 files
输出

{
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-contrib-imagemin": "^0.7.1"
  }
}
module.exports = function (grunt) {
  grunt.initConfig({
    imagemin: {
      dynamic: {
        files: [{
          expand: true,
          cwd: 'publicImg/',
          src: ['**/*.jpg'],
          dest: 'publicImages/'
        }]
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-imagemin');
  grunt.registerTask('default', ['imagemin']);
};
raiden@toluca:~/projects/test$ tree publicImg/
publicImg/
├── main
└── upload
    ├── folder1
    │   ├── 2499085-metal-gear-solid-5-exteded-e3.jpg
    │   └── url.htm
    ├── folder2
    │   └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
    └── folder3
        ├── 2574364-8751006069-14019.jpg
        ├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
        └── Metal_Gear_Solid_V_Screenshot.jpg

5 directories, 6 files
raiden@toluca:~/projects/test$ grunt
Running "imagemin:dynamic" (imagemin) task
✔ publicImg/upload/folder1/2499085-metal-gear-solid-5-exteded-e3.jpg (saved 8.99 kB - 7%)
✔ publicImg/upload/folder2/metal-gear-solid-5-ground-zeroes-collectibles.jpg (saved 8.5 kB - 25%)
✔ publicImg/upload/folder3/2574364-8751006069-14019.jpg (already optimized)
✔ publicImg/upload/folder3/Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg (saved 2.22 kB - 3%)
✔ publicImg/upload/folder3/Metal_Gear_Solid_V_Screenshot.jpg (already optimized)
Minified 5 images (saved 19.71 kB)

Done, without errors.
raiden@toluca:~/projects/test$ tree publicImages/
publicImages/
└── upload
    ├── folder1
    │   └── 2499085-metal-gear-solid-5-exteded-e3.jpg
    ├── folder2
    │   └── metal-gear-solid-5-ground-zeroes-collectibles.jpg
    └── folder3
        ├── 2574364-8751006069-14019.jpg
        ├── Metal-Gear-Solid-5-The-Phantom-Pain-Trailer.jpg
        └── Metal_Gear_Solid_V_Screenshot.jpg

4 directories, 5 files
也许您的grunt contrib imagemin安装有问题。尝试执行npm rebuild grunt contrib imagemin并查看是否有任何错误。或者通过
npm update grunt contrib imagemin
更新模块