Ich versuche dynamic mapping UND concat Javascript Dateien mit Grunt verunstalten zu verwenden.Dynamic Mapping und Concat mit Grunt uglify
Ich habe die folgenden, die nicht richtig funktioniert.
Hier ist meine Ordnerstruktur:
javascript
|- account
|- custom.js
|- bills
|- billing-one.js
|- billing-two.js
|- test (output folder)
Hier ist, was ich erwarte:
javascript
|- account
|- custom.js
|- bills
|- billing-one.js
|- billing-two.js
|- test
|- billing-one.min.js (this file includes billing-one.js AND custom.js)
|- billing-two.min.js (this file includes billing-two.js AND custom.js)
Dies ist, was ich zur Zeit bin immer:
javascript
|- account
|- custom.js
|- bills
|- billing-one.js
|- billing-two.js
|- test
|- bills
|- billing-one.min.js (this file includes just billing-one.js)
|- billing-two.min.js (this file includes just billing-two.js)
|- account
|- custom.min.js (this file includes just custom.js)
Es ist die custom.js Datei nicht mit, sondern erstellt einen 2 Ordner test/account/custom.min.js
‚test/Rechnungen/bi Befüllungs-one.js' - siehe oben
options: {
beautify: true,
mangle: false,
compress: false,
preserveComments: 'all'
},
files: [
{
expand: true, // Enable dynamic expansion.
cwd: 'javascript/', // Src matches are relative to this path.
src: [[bills/*.js'], 'account/custom.js'], // Actual pattern(s) to match.
dest: 'test/', // Destination path prefix.
ext: '.min.js', // Dest filepaths will have this extension.
extDot: 'first' // Extensions in filenames begin after the first dot
},
],
Ich möchte, dass alle JavaScript-Dateien im Ordner bills/
custom.js
So enthalten, wenn es zwei Dateien: bills/billing-one.js
bills/billing-two.js
Ich würde erwarten, dass Test/Ordner
test/billing-one.min.js
enthält (diese Datei würde billing-one + custom.js enthalten) test/billing-two.min.js
(diese Datei enthalten würde abrechnungs zwei + custom.js)
Ich will nicht zu hart Code der Dateinamen. Wenn mehrere Dateien bills/
Ordner hinzugefügt werden, sollten die auf die test/
Ordner verketten und ausgegeben werden.
Jede Hilfe sehr geschätzt.
UPDATE SEIT ANTWORT AKZEPTIERT:
Verwenden Sie den aktualisierten Code folgen, um sicherzustellen, das funktioniert wie beabsichtigt - sonst werden Sie in Fehler ausgeführt werden, wenn GRUNZEN läuft.
Ich habe versucht, auf die Antwort Hinzufügen dieser durch bearbeitet zur Überprüfung eingereicht. Aber es wurde zweimal abgelehnt, von all den wissenden, alles überragenden Mods ... wenn es tatsächlich eine gültige Eingabe ist und die gegebene Antwort verbessert. Beachten Sie die []
, cwd
und src
Änderungen.
files: [{
expand: true,
cwd: 'javascript/bills/',
src: ['*.js'],
dest: 'test/',
ext: '.min.js',
extDot: 'first'
}],
Danke - funktioniert gut. Ich habe die Dokumente durchsucht und versucht, eine Möglichkeit zu finden, mehrere Dateien in das Banner einzufügen, zum Beispiel: banner: grunt.file.read ([./javascript/account/custom.js], ./javascript/account- 2/custom.js]), 'Aber das funktioniert nicht. – fidev
Es wurde eine Arbeit für den obigen Kommentar gefunden, indem Sie concat für mehrere Dateien verwenden und dann die Datei in das Banner einfügen – fidev