1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 COPY var gulp = require ('gulp' );var minifycss = require ('gulp-minify-css' );var uglify = require ('gulp-uglify' );var htmlmin = require ('gulp-htmlmin' );var htmlclean = require ('gulp-htmlclean' );gulp.task ('minify-css' , async function ( ) { return gulp.src ('./public/**/*.css' ).pipe (minifycss ()) .pipe (gulp.dest ('./public' )); }); gulp.task ('minify-html' , async function ( ) { return gulp.src ('./public/**/**/*.html' ).pipe (htmlclean ()) .pipe (htmlmin ({ removeComments : true ,minifyJS : true ,minifyCSS : true ,minifyURLs : true ,})) .pipe (gulp.dest ('./public' )) }); gulp.task ('minify-js' , async function ( ) { return gulp.src (['./public/**/*.js' , '!./public/**/*.min.js' ]).pipe (uglify ()) .pipe (gulp.dest ('./public' )); }); gulp.task ('minify-images' , async function (done ) { gulp.src ('./public/images/**/*.*' ) .pipe (imagemin ([ imagemin.gifsicle ({interlaced : true }), imagemin.jpegtran ({progressive : true }), imagemin.optipng ({optimizationLevel : 5 }), imagemin.svgo ({ plugins : [ {removeViewBox : true }, {cleanupIDs : false } ] }) ])) .pipe (gulp.dest ('./public/images' )); done (); }); gulp.task ('default' , gulp.parallel ('minify-html' , 'minify-css' , async function ( ) { }));