2013-01-22 8 views
6

Ich versuche, grunt einzurichten, um eine Anzahl von js-Dateien in einem src-Verzeichnis zu minimieren und sie in ein Build-Verzeichnis zu kopieren. Nach dem grunt task documentation, glaube ich, dass die folgende Konfiguration funktionieren sollte.Grunt Multi-Tasks werfen EISDIR Fehler beim Erstellen

uglify: { 
    dist: { 
     files: [ 
     { 
      expand: true,  // Enable dynamic expansion. 
      cwd: 'src/js/', // Src matches are relative to this path. 
      src: ['**/?.js'], // Actual pattern(s) to match. 
      dest: 'build/minified/', // Destination path prefix. 
      ext: '.min.js' // Dest filepaths will have this extension. 
     } 
     ] 
    } 
    } 

Als ich grunzen laufen bekomme ich die Meldung

Running "verunstalten: dist" (uglify) Aufgabe Achtung: Kann nicht "build/minimierte" Datei (Fehlercode: EISDIR) schreiben. Verwenden Sie --force, um fortzufahren.

Wenn ich die Definition zu manuellen Dateipfaden wechseln, funktioniert es gut. Ist die Dokumentation falsch? oder verwende ich es falsch?

ich grunzen leite v0.4.0rc2

+0

ich auch dieses Problem haben. Hmmmm. –

+1

Aktualisieren Sie grunt und ersetzen Sie 'src: ['**/?. js']' mit 'src: ['**/*. Js']' – mutil

+0

@mutil - Korrekte das war das Problem. Wenn Sie Ihren Kommentar als Antwort posten möchten, akzeptiere ich ihn. Vielen Dank. – madcapnmckay

Antwort

3

aktualisieren Grunzen und ersetzen src: ['**/?.js'] mit src: ['**/*.js']

Weitere Informationen das Handbuch auf globbing patterns sehen.

0

Ändern Sie die detectDestType Funktion in node_modules/Grunzen-contrib-copy/Aufgaben/copy.js wie folgt:

var detectDestType = function(dest) { 
    if (grunt.util._.endsWith(dest, path.sep)) { 
     return 'directory'; 
    } else { 
     return 'file'; 
    } 
    }; 

Es sollte das Problem beheben.

1

hat ein ähnliches Problem, bei dem ich ein Problem Laden von Dateien von der Struktur wurde immer:

bower_components/Chart.js/Chart.min.js

Offenbar grunzen Kämpfe mit Verzeichnissen, die .js in ihnen enthalten. Ich fand diese Lösung, die mein Problem behoben: https://github.com/cbas/grunt-rev/issues/29

Grundsätzlich entfernen Sie explizit die Problem-Verzeichnisse im Abschnitt rev.

das heißt, das funktioniert:

rev: { 
     files: { 
      src: [ 
       'dist/**/*.js', 
       '!dist/bower_components/Chart.js', 
      ] 
     } 
    },