// 2015년 기준
var gulp = require('gulp'),
concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function(){
})
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function(){
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
})
(위의 소스는 2015년 기준.. 다른 소스로 해보도록 하겠음.)
const gulp = require('gulp');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function () {
gulp
.src(['./src/script1.js', './src/script2.js'])
.pipe(concat('combined.js'))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function(){
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
작성한 combine:js 업무를 요약하면, 소스로 등록한 자바스크립트 파일을
gulp-concat 모듈 병합함수(concat)를 사용하여 새 파일로 생성하고,
const gulp = require('gulp');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function () {
gulp
.src('./src/*.js')
.pipe(concat('combined.js'))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function(){
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
const gulp = require('gulp');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function () {
gulp
.src(['./src/script2.js', './src/*.js'])
.pipe(concat('combined.js'))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function(){
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
const gulp = require('gulp');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function () {
gulp
// .src(['./src/script2.js', './src/*.js'])
// .pipe(concat('combined.js'))
// .pipe(gulp.dest('./dist'));
.src('src/js/libs/**/*.js')
.pipe(concat('DOMlibrary.js'))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function () {
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
const gulp = require('gulp');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function () {
gulp
// .src(['./src/script2.js', './src/*.js'])
// .pipe(concat('combined.js'))
// .pipe(gulp.dest('./dist'));
.src('src/js/libs/**/*.js')
.pipe(concat('DOMlibrary.js'))
.pipe(uglify())
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function () {
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
파일을 저장하고 Git Bash에서 gup combine:js 명령어를 실행합니다.
const gulp = require('gulp');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function () {
gulp
// .src(['./src/script2.js', './src/*.js'])
// .pipe(concat('combined.js'))
// .pipe(gulp.dest('./dist'));
.src('src/js/libs/**/*.js')
.pipe(concat('DOMlibrary.js'))
.pipe(uglify({
mangle: false
}))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function () {
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
설정 가능한 또 다른 옵션은 주석(comments) 설정입니다.
const gulp = require('gulp');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('combine:js', function () {
gulp
// .src(['./src/script2.js', './src/*.js'])
// .pipe(concat('combined.js'))
// .pipe(gulp.dest('./dist'));
.src('src/js/libs/**/*.js')
.pipe(concat('DOMlibrary.js'))
.pipe(uglify({
mangle: false,
output: {
comments: 'all' // true or 'all', 'some'
},
}))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function () {
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
다음 그림을 참고하면 좀 더 쉽게 이해할 수 있습니다.
깨알 tip
mangle, preserveComments(=> output: {comments : }) 옵션 외에 다른 옵션도 설정할 수 있습니다.
설정 가능한 다른 옵션과 관련된 설명은 gulp-uglify 옵션 페이지(https://github.com/terinjokes/gulp-uglify/#options)를 참고합니다.
const gulp = require('gulp');
const jshint = require('gulp-jshint');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('scripts', function () {
gulp
// .src(['./src/script2.js', './src/*.js'])
// .pipe(concat('combined.js'))
// .pipe(gulp.dest('./dist'));
.src('src/js/libs/**/*.js')
.pipe(jshint())
.pipe(concat('DOMlibrary.js'))
.pipe(uglify({
mangle: false,
output: {
comments: 'all' // true or 'all', 'some'
},
}))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function () {
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
jshint() 함수만으로는 화면에 자바스크립트 문법 오류가 출력되지 않습니다.
const gulp = require('gulp');
const jshint = require('gulp-jshint');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
// javascript 파일들을 병합
gulp.task('scripts', function () {
gulp
// .src(['./src/script2.js', './src/*.js'])
// .pipe(concat('combined.js'))
// .pipe(gulp.dest('./dist'));
.src('src/js/libs/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter())
.pipe(concat('DOMlibrary.js'))
.pipe(uglify({
mangle: false,
output: {
comments: 'all' // true or 'all', 'some'
},
}))
.pipe(gulp.dest('./dist'));
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function () {
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
const gulp = require('gulp');
const stylish = require('jshint-stylish');
const jshint = require('gulp-jshint');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
const rename = require('gulp-rename');
// javascript 파일들을 병합
gulp.task('scripts', function () {
gulp
// .src(['./src/script2.js', './src/*.js'])
// .pipe(concat('combined.js'))
// .pipe(gulp.dest('./dist'));
.src('src/js/libs/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter(stylish))
.pipe(concat('DOMlibrary.js'))
.pipe(gulp.dest('./dist'))
.pipe(uglify({
mangle: false,
output: {
comments: 'all' // true or 'all', 'some'
},
}))
.pipe(rename('DOMlibrary.min.js'))
.pipe(gulp.dest('./dist'))
});
// Gulp.task()를 사용해 기본(Default) 테스크 정의
gulp.task('default', function () {
// 콘솔(Console)에 메시지 기록(log)
console.log('gulp default 일이 수행되었습니다.');
});
수정한 문서를 저장한 후 Git Bash에서 gulp scripts 명령어를 실행합니다.