Joeyne
4/6/2020 - 11:41 AM

gulp

prepare

npm install cnpm
cnpm install gulp --save-dev
cnpm install gulp-uglify-es --save-dev
cnpm install gulp-clean-css --save-dev
cnpm install gulp-rename --save-dev
cnpm install gulp-sourcemaps --save-dev

run

gulp minify-assets

const gulp = require('gulp');
const uglify = require('gulp-uglify-es').default;
const cleanCSS = require('gulp-clean-css');
const rename = require('gulp-rename');
const sourcemaps = require('gulp-sourcemaps');

// 压缩JS文件,并建立map映射
gulp.task('minify-js', async function () {
    await gulp.src(['public/assets/js/**/*.js', '!public/assets/js/**/*.min.js'])
        .pipe(rename({extname: '.min.js'}))
        .pipe(sourcemaps.init())
        .pipe(uglify())
        .pipe(sourcemaps.write('./'))
        .pipe(gulp.dest('public/assets/js/'));
});

// 压缩CSS文件,并建立map映射
gulp.task('minify-css', async function () {
    await gulp.src(['public/assets/css/**/*.css', '!public/assets/css/**/*.min.css'])
        .pipe(rename({extname: '.min.css'}))
        .pipe(sourcemaps.init())
        .pipe(cleanCSS({compatibility: 'ie8'}))
        .pipe(sourcemaps.write('./'))
        .pipe(gulp.dest('public/assets/css/'));
});

gulp.task('minify-assets', gulp.parallel('minify-js', 'minify-css'), done => {
    done();
});