2016-05-31 11 views
0

Mit der Grunt Code und Ordnerstruktur wie weiter unten sehen, wenn ich grunt uglify laufe, ist das Ergebnis, dass der Ausgang Unterordner Struktur \js\src innerhalb \min Ordner, wobei der tiefste Ordner (src) erstellt enthält die minimierten Dateien. Aber ich möchte die minimierten Dateien in der \min Ordner Root erstellt werden.Einstellen des Zielordners mit uglify in Grunt

Wenn ich den Parameter dest auf leer setzen: ``, werden die Dateien im selben Ordner wie der Ordner src erstellt.

Wenn ich den dest Parameterwert einstellen: / oder /js/min oder /js/min/ wird nichts geschaffen.

Wie kann ich die minimierten Dateien direkt im Stammverzeichnis des Ordners min generieren?

module.exports = function(grunt){ // 1 

grunt.initConfig({ 
    uglify: { 
    my_target: { 
     files: [{ 
      expand: true, 
      src: 'js/src/*.js', 
      dest: 'js/min/', 
      ext : '.min.js', 
     }] 
    } 
    } 
}); 

    grunt.loadNpmTasks('grunt-contrib-uglify'); //https://www.npmjs.com/package/grunt-contrib-uglify 


    grunt.registerTask('default', function() { // 4 
     grunt.log.writeln('Hello, from the default grunt task!'); // 5 
    }); 

} 

enter image description here

Antwort

2

Die Grunt Dokumentation hat einen entsprechenden Abschnitt über building the files object dynamically.

Von besonderem Interesse ist die "CWD" Eigenschaft:

Alle src-Spiele sind relativ zu (aber don Diesen Weg nicht einbeziehen.

Dadurch können wir den unerwünschten Pfad von unserem "src" -Wert entfernen, indem wir ihn als Wert von "cwd" festlegen. Dies bedeutet, dass die generierten Quelldateipfade nicht das unerwünschte Präfix ("/ js/src /") haben, wenn sie zum Ordner/js/min hinzugefügt werden.

Unsere resultierende Grunt-Datei sieht wie folgt aus:

module.exports = function (grunt) { 

    grunt.initConfig({ 
     uglify: { 
      my_target: { 
       files: [{ 
        expand: true, 
        cwd: 'js/src/', 
        src: '*.js', 
        dest: 'js/min/', 
        ext : '.min.js', 
       }] 
      } 
     } 
    }); 

    grunt.loadNpmTasks('grunt-contrib-uglify'); 

    grunt.registerTask('default', ['uglify']); 

};