Ich versuche Gulp zu verwenden, um:
- Nehmen Sie 3 bestimmte Javascript-Dateien, verketten Sie sie und speichern Sie das Ergebnis in einer Datei (concat.js).
- Nehmen Sie diese verkettete Datei, uglifizieren / minimieren Sie sie und speichern Sie das Ergebnis in einer anderen Datei (uglify.js).
Ich habe bisher den folgenden Code
var gulp = require('gulp'),
gp_concat = require('gulp-concat'),
gp_uglify = require('gulp-uglify');
gulp.task('js-fef', function(){
return gulp.src(['file1.js', 'file2.js', 'file3.js'])
.pipe(gp_concat('concat.js'))
.pipe(gp_uglify())
.pipe(gulp.dest('js'));
});
gulp.task('default', ['js-fef'], function(){});
Die uglify-Operation scheint jedoch nicht zu funktionieren, oder die Datei wird aus irgendeinem Grund nicht generiert.
Was muss ich tun, um dies zu erreichen?
Antworten:
Es stellte sich heraus, dass ich
gulp-rename
die verkettete Datei zuerst verwenden und auch ausgeben musste, bevor ich sie hässlich machte. Hier ist der Code:Von
grunt
es war ein wenig verwirrend auf den ersten , aber es macht jetzt Sinn. Ich hoffe es hilft dengulp
Noobs.Und wenn Sie Sourcemaps benötigen, finden Sie hier den aktualisierten Code:
Weitere Informationen zu Optionen und Konfiguration finden Sie unter gulp-sourcemaps .
quelle
gulp.task
sollte lauten:.pipe(gp_concat('concat.js'))
Meine gulp-Datei erzeugt eine endgültige compiled-bundle-min.js, hoffe, dies hilft jemandem.
quelle
- Lösung
gulp-uglify
,gulp-concat
undgulp-sourcemaps
. Dies ist aus einem Projekt, an dem ich arbeite.Dies kombiniert und komprimiert alle Ihre
scripts
, fügt sie in eine Datei namensall_the_things.js
. Die Datei endet mit einer speziellen ZeileDadurch wird Ihr Browser angewiesen, nach dieser Kartendatei zu suchen, die er auch ausgibt.
quelle
Ihre Lösung funktioniert nicht, da Sie die Datei nach dem Concat-Prozess speichern und dann hässlich machen und erneut speichern müssen. Sie müssen die Datei nicht zwischen concat und uglify umbenennen.
quelle
10. Juni 2015: Anmerkung des Autors von
gulp-uglifyjs
:18. Februar 2015:
gulp-uglify
undgulp-concat
beide arbeitengulp-sourcemaps
jetzt gut mit . Stellen Sie einfach sicher, dass dienewLine
Option richtig eingestellt istgulp-concat
. Ich empfehle\n;
.Ursprüngliche Antwort (Dezember 2014): Verwenden Sie stattdessen gulp-uglifyjs .
gulp-concat
ist nicht unbedingt sicher; Es muss mit nachfolgenden Semikolons korrekt umgehen.gulp-uglify
unterstützt auch keine Quellkarten. Hier ist ein Ausschnitt aus einem Projekt, an dem ich arbeite:quelle
gulp-concat
( vielleicht könnengulp-uglify
Sie nicht mehrere Dateien minimieren, sodass Sie sich zuerst konzentrieren müssen). Außerdemgulp-concat
verwendet eine\r\n
standardmäßig, das könnte Probleme verursachen , wenn Ihre JS - Dateien nicht ordnungsgemäß beenden. Aber ja, jetzt, wo es Unterstützung gibt, ist es wahrscheinlich besser, diesen Weg zu gehen, da er flexibler ist.Wir verwenden die folgende Konfiguration, um etwas Ähnliches zu tun
Beispiel GulpDS-Datei ist unten:
quelle