gulp 
https://github.com/gulpjs/gulp - 31,335 
    - v4.0.2 , 2019/05 
https://gulpjs.com/ 
*설치 
    - gulp-cli 와 gulp 전역설치 
npm install gulp-cli -g 
npm install gulp -g 
    - 프로젝트 폴더로 이동 
    - package.json 생성 
npm init 
    - 개발 모드로 설치 
        - gulp가 전역으로 설치되어 있으면 다음은 필요없음 
npm install gulp -D 
    - gulpfile.js 파일 생성 
npx -p touch nodetouch gulpfile.js 
//================= 
* plugin 설치 
npm install gulp-sass gulp-stylus gulp-clean-css gulp-concat gulp-uglify gulp-babel gulp-rename del --save-dev 
npm install --save-dev @babel/core @babel/preset-env 
// 
https://github.com/alferov/awesome-gulp#plugins 
// 
gulp-sass : Sass → CSS with libsass. 
gulp-stylus : Stylus → CSS. 
gulp-typescript : TypeScript → JavaScript. 
gulp-clean-css : CSS optimizer(압축) 
gulp-concat : 파일 합치기 
gulp-uglify : 자바스크립트 압축, 난독화 
gulp-rename : 파일 이름 변경 (원본,압축) 
gulp-babel : ES6 -> ES5 
//================================ 
* gulpfile.js 파일 작성 
    - 파일 샘플 
https://github.com/gulpjs/gulp 
//=============== 
var gulp = require('gulp'); 
var sass = require('gulp-sass'); 
var babel = require('gulp-babel'); 
var concat = require('gulp-concat'); 
var uglify = require('gulp-uglify'); 
var rename = require('gulp-rename'); 
var cleanCSS = require('gulp-clean-css'); 
var del = require('del'); 
//경로 설정 
var paths = { 
  styles: { 
    src: 'src/styles/**/*.scss', 
    dest: 'assets/styles/' 
  }, 
  scripts: { 
    src: 'src/scripts/**/*.js', 
    dest: 'assets/scripts/' 
  } 
}; 
function clean() { 
  return del([ 'assets' ]); 
} 
// 각 작업용 함수 ( gulp.task() 기능 ) 
function styles() { 
  return gulp.src(paths.styles.src) 
    .pipe(less()) 
    .pipe(cleanCSS()) 
    // pass in options to the stream 
    .pipe(rename({ 
      basename: 'main', 
      suffix: '.min' 
    })) 
    .pipe(gulp.dest(paths.styles.dest)); 
} 
function scripts() { 
  return gulp.src(paths.scripts.src, { sourcemaps: true }) 
    .pipe(babel()) 
    .pipe(uglify()) 
    .pipe(concat('main.min.js')) 
    .pipe(gulp.dest(paths.scripts.dest)); 
} 
function watch() { 
  gulp.watch(paths.scripts.src, scripts); 
  gulp.watch(paths.styles.src, styles); 
} 
/* 
 * Specify if tasks run in series or parallel using `gulp.series` and `gulp.parallel` 
 */ 
var build = gulp.series(clean, gulp.parallel(styles, scripts)); 
/* 
 * You can use CommonJS `exports` module notation to declare tasks 
 */ 
exports.clean = clean; 
exports.styles = styles; 
exports.scripts = scripts; 
exports.watch = watch; 
exports.build = build; 
// gulp 기본 실행 옵션 
exports.default = build; 
//=========== 
* 에러 
    - 에러 메시지 
internal/modules/cjs/loader.js 
Error: Cannot find module '@babel/core' 
    - 해결방법 
npm install --save-dev @babel/core @babel/preset-env 
//=========== 
//참고 , babel 설치 
npm install --save-dev babel-cli 
npm install --global babel 
'Code > JavaScript' 카테고리의 다른 글
| [Javascript] Browserify 사용법 (0) | 2019.07.28 | 
|---|---|
| [Javascript] Grunt 사용법 (0) | 2019.07.28 | 
| [Javascript] webpack 사용법 (0) | 2019.07.28 | 
| [Javascript] *.mjs 파일을 import 하려고 하면 에러 발생 , 해결 방법 (0) | 2019.07.26 | 
| [Vue.js] Nuxt.js (0) | 2019.07.23 | 










