2017-10-12 2 views
0

Je suis nouveau en utilisant Gulp. Je me demande comment je peux concat, uglify et gzip tous les fichiers js d'un site Web statique utilisant Gulp.Comment puis-je gzip un uglify js avec Gulp sans générer deux fichiers dans le dossier dist

J'ai une tâche comme ce qui fonctionne, mais je voudrais inclure uniquement dans le dossier dist le fichier .gz et non les combined.js

gulp.task("concat-js", function() { 
return gulp.src("./src/js/*.js") 
    .pipe(concat("combined.min.js")) 
    .pipe(uglify()) 
    .pipe(gzip()) 
    .pipe(gulp.dest("./build/js")); 
}); 

MISE À JOUR

Je vous encourage lire les commentaires. Dans mon cas, le problème a été causé par une mauvaise utilisation de gulp-useref, car il générait le fichier à la fin du processus de construction. Probablement pas de problème, mais j'espère pouvoir aider n'importe qui.

Merci d'avance ...

+0

Pourquoi les gzip quand vous pouvez demander à votre serveur de le faire? –

+0

Je vais utiliser S3 + Cloud avant pour servir mon site Web –

Répondre

0

Cela devrait fonctionner. Stocker simplement le fichier .min dans un dossier temporaire. Vous pouvez le supprimer plus tard si vous le souhaitez.

gulp.task("concat-js", function() { 
    return gulp.src("./src/js/*.js") 
    .pipe(concat("combined.min.js")) 

    .pipe(gulp.dest('./temp')) 

    .pipe(uglify()) 
    .pipe(gzip()) 
    .pipe(gulp.dest("./build/js")); 
}); 

Le fichier final serait "combined.min.js.gz" le seul dans build/js. Si vous n'aimez pas ce nom, vous pouvez le renommer avec gulp-rename.

+0

Merci pour votre réponse, mais je vois encore les deux fichiers générés dans le dossier de construction –

+0

Hmmm, j'ai couru cela à quelques reprises pour vérifier. Avez-vous d'abord supprimer votre dossier de construction pour commencer avec une table rase? – Mark

+0

On dirait que uglify() crée le fichier supplémentaire dans le dossier build/js. Parce que je vois dans le dossier temp le combiné.js (pas de fichier uglify) et dans build/js combined.min.js (fichier uglify) –