gulp는 자바스크립트 빌드 자동화 툴이다.
{
"presets": ["es2015"]
}
import gulp from 'gulp';
import gutil from 'gulp-util';
import babel from 'gulp-babel'; // babel을 사용하기 위한 플러그인
import uglify from 'gulp-uglify';
import cleanCSS from 'gulp-clean-css';
import del from 'del';
const DIR = {
SRC: 'assets',
DEST: 'dist'
};
const SRC = {
JS: DIR.SRC + '/js/*.js',
CSS: DIR.SRC + '/style/*.css',
};
gulp.task('clean', () => {
return del.sync([DIR.DEST]); // dist 디렉토리 하위 비우기
});
gulp.task('js', () => {
return gulp.src(SRC.JS)
.pipe(babel({ // babel을 사용해서 js 파일 변환
presets: ['es2015']
}))
.pipe(uglify()) // minify
.pipe(gulp.dest(DIR.DEST));
});
gulp.task('css', () => {
return gulp.src(SRC.CSS)
.pipe(cleanCSS({compatibility: 'ie8'})) // css minify
.pipe(gulp.dest(DIR.DEST));
});
// 특정 디렉토리 하위에 변화를 감지해서 변경사항 반영
gulp.task('watch', () => {
gulp.watch(SRC.JS, ['js']);
gulp.watch(SRC.CSS, ['css']);
});
gulp.task('default', ['clean', 'js', 'css', 'watch'], () => {
gutil.log('Gulp is running');
});
# 특정 태스크만 실행시키려면 뒤에 태스크명 추가 입력
# gulp css
gulp