9

Grunt imagemin を実行しようとすると、次のエラーがスローされます。

Running "imagemin:dynamic" (imagemin) task
Fatal error: Cannot read property 'contents' of undefined

これが私のpackage.jsonファイルです:

{
  "name": "project1",
  "version": "0.1.0",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-imagemin": "^1.0.0",
    "grunt-contrib-uglify": "^0.11.0",
    "imagemin" : "4.0.0"
  }
}

そして、ここに私の Gruntfile.js があります

module.exports = function(grunt) {

    grunt.initConfig({

        pkg: grunt.file.readJSON('package.json'),

        uglify: {
          build: {
            src: 'views/js/src/main.js',
            dest: 'views/js/build/main.js'
          }
        },

        imagemin: {
          dynamic: {
            files: [{
              expand: true,
              cwd: 'views/images/src/',
              src: ['**/*.{png,jpg,gif}'],
              dest: 'views/images/build/'
            }]
          }
        }

    });

    // 3. Where we tell Grunt we plan to use this plug-in.
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-imagemin');

    // 4. Where we tell Grunt what to do when we type "grunt" into the terminal.
    grunt.registerTask('default', ['uglify', 'imagemin']);

};

この問題はフラグが立てられており、以前のバージョンの imagemin で明らかに解決されています。しかし、合意された解決策は、grunt-contrib-imagemin をバージョン 1.0.0 に更新し、imagemin を 4.0.0 に更新することでした。これを実行しましたが、まだ機能していません。

4

4 に答える 4

8

gurnt-contrib-imagemin を 1.0.0 または最新に更新するだけで、おそらく 0.9.x の古いバージョンを使用している可能性があります

于 2016-03-09T07:58:38.513 に答える
7

ダウングレードする代わりに、GitHub ソリューション ( https://github.com/gruntjs/grunt-contrib-imagemin/issues/344 ) がpackage.json にgrunt-contrib-imagemin追加されます。"vinyl-fs": "2.2.1"

vinyl-fs依存関係ツリーのどこかにあるようです。vinyl-fsしかし、2.2.1 から 2.3.0 への重大なバージョン変更があり、ビルド プロセスが中断されます。したがって、バージョンは 2.2.1 に「強制」する必要があります。

于 2016-01-13T10:06:00.760 に答える
1

grunt-contrib-imagemin私にとっては、バージョンへの更新と依存関係のバージョンとバージョン^1.0.0の追加に取り組みましたimagemin^4.0.0vinyl-fs^2.1.1

于 2016-01-28T12:52:20.070 に答える