2016-01-12 4 views
8

Grunt imagemin führen die folgenden Fehler lesen, wenn ich versuche, es zu laufen:Grunt imagemin Fehler: Kann nicht Eigenschaft 'Inhalt' undefiniert

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

Hier ist meine package.json Datei:

{ 
    "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" 
    } 
} 

Und hier ist mein 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']); 

}; 

Das Problem flagged and evidently resolved in einer früheren Version von imagemin war. Aber die vereinbarte Lösung bestand darin, grunt-contrib-imagemin auf Version 1.0.0 und imagemin auf 4.0.0 zu aktualisieren, was ich getan habe und es funktioniert immer noch nicht.

+1

Das grunt-contrib-imagemin zu Version 1.0.0 und imagemin zu 4.0.0 funktionierte gestern für mich und jetzt funktioniert es nicht mehr. – Drew

+0

Es gibt auch ein GitHub-Ticket dafür: https://github.com/gruntjs/grunt-contrib-imagemin/issues/344 –

Antwort

6

einfach aktualisieren, um die gurnt-contrib-imagemin bis 1.0.0 oder neueste, können Sie ältere Version wahrscheinlich 0,9 werden. x

5

beschloß ich, das Problem durch mein Grunzen-contrib-imagemin in meinem package.json zu grunt-contrib-imagemin": "0.9.1"

7

Die GitHub-Lösung (https://github.com/gruntjs/grunt-contrib-imagemin/issues/344) zu ändern, statt grunt-contrib-imagemin heruntergestuft wird "vinyl-fs": "2.2.1" in Ihrem package.json hinzufügen.

vinyl-fs scheint irgendwo im Abhängigkeitsbaum zu sein. Aber es gab eine Bruchversionsänderung von vinyl-fs von 2.2.1 zu 2.3.0, die den Bauprozess abbremsen wird. Also sollte die Version auf 2.2.1 "forciert" werden.

+0

Ich habe das versucht und es hat nicht funktioniert. Am Ende habe ich die letzte Version neu installiert, von der ich sicher war, dass sie funktionierte (0.3.0). –

+0

Es gibt jetzt einen Bugfix für 'Vinyl-fs', der das Problem löst (https://github.com/gruntjs/grunt-contrib-imagin/issues/344). Der Fehler sollte nicht mehr auftreten, daher sollte es sicher sein, die Zeile aus package.json zu entfernen. –

+0

Für mich wurde die Aktualisierung von grunt-contrib-imagemin auf 1.0.0 korrigiert. Dies aktualisiert seine imagemin-Abhängigkeit auf 4.0.0. –

1

für mich gearbeitet grunt-contrib-imagemin auf Version ^1.0.0 aktualisiert und ergänzt Abhängigkeiten imagemin Version ^4.0.0 und vinyl-fs Version ^2.1.1

Verwandte Themen