스크립트 minification 을 위해 자주 사용하는 gulpfile.js 템플릿 코드
const gulp = require('gulp') , uglify = require('gulp-uglify') , uglifycss = require('gulp-uglifycss') , rename = require('gulp-rename') , sourcemaps = require('gulp-sourcemaps') , clean = require('gulp-clean') ; gulp.task('min-js', function () { return gulp .src([ 'assets/js/**/*.js', '!assets/js/**/*.min.js', '!assets/js/vendor/*.js', ]) .pipe(sourcemaps.init()) .pipe(uglify()) .pipe(rename(function (path) { path.extname = '.min.js'; })) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('assets/js')); }); gulp.task('min-css', function () { return gulp .src([ 'assets/css/**/*.css', '!assets/css/**/*.min.css', '!assets/css/vendor/*.css', ]) .pipe(uglifycss()) .pipe(rename(function (path) { path.extname = '.min.css'; })) .pipe(gulp.dest('assets/css')); }); gulp.task('clean', function () { return gulp .src([ 'assets/**/*.min.{js,css}', '!assets/css/vendor/*.css', '!assets/js/vendor/*.js', ], {read: false}) .pipe(clean()) }); gulp.task('watch', function () { gulp.watch([ 'assets/js/**/*.js', '!assets/js/**/*.min.js', '!assets/js/vendor/*.js', ], gulp.parallel(['min-js'])); gulp.watch([ 'assets/css/**/*.css', '!assets/css/**/*.min.css', '!assets/css/vendor/*.css', ], gulp.parallel(['min-css'])); }); gulp.task('default', gulp.series('clean', 'min-js', 'min-css', 'watch')); gulp.task('build', gulp.series('clean', 'min-js', 'min-css'));