본문 바로가기
gulp.js

5. Gulp의 핵심 개념 - 2

by leo2114 2023. 3. 20.
반응형

Gulp 스트림 (Gulp Streams)

Gulp에서 스트림은 데이터의 흐름을 나타내는 중요한 개념 중 하나입니다. 스트림은 Gulp의 강력한 특징 중 하나로, 파일 처리 및 변환 작업을 효과적으로 수행하는 데 사용됩니다. 이 포스팅에서는 Gulp 스트림이 무엇이며, 어떻게 사용되는지에 대해 살펴보겠습니다.

스트림의 개념

스트림은 데이터를 조각조각 나누어 처리하는 방법을 나타냅니다. Gulp에서는 파일을 읽거나 쓰는 과정에서 중간 단계에서 스트림을 활용하여 데이터를 가공하거나 변환할 수 있습니다. 이는 메모리 사용을 최소화하면서 대용량 파일에 대한 효율적인 처리를 가능케 합니다.

Gulp 스트림의 사용

Gulp에서 스트림은 gulp.src()로부터 시작하여 다양한 플러그인을 통해 연결됩니다. 아래는 기본적인 Gulp 스트림의 예시입니다.

const gulp = require('gulp');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');

gulp.task('scripts', () => {
    return gulp.src('src/*.js')
        .pipe(uglify())      // JavaScript 파일 압축
        .pipe(concat('bundle.js'))   // 파일 병합
        .pipe(gulp.dest('dist'));   // 결과물 저장
});

 

이 예시에서 gulp.src('src/*.js')는 파일을 읽어오는 스트림을 생성하고, uglify()는 JavaScript를 압축하는 스트림, concat('bundle.js')는 파일을 병합하는 스트림을 나타냅니다. pipe()를 사용하여 이러한 스트림들을 연결하고, gulp.dest('dist')는 최종 결과물을 저장하는 스트림입니다.

스트림 체인

Gulp 스트림은 여러 작업을 체인 형태로 연결할 수 있습니다. 이를 통해 여러 스트림이 순차적으로 실행되며 파일을 처리할 수 있습니다.

gulp.task('images', () => {
    return gulp.src('src/images/*')
        .pipe(resize())   // 이미지 크기 조절
        .pipe(minify())   // 이미지 압축
        .pipe(gulp.dest('dist/images'));
});

 

위의 예시에서 resize()와 minify()는 이미지 크기를 조절하고 압축하는 스트림을 나타내며, 이들이 연이어 실행되어 이미지 파일을 처리합니다.

결론

Gulp 스트림은 Gulp의 강력한 기능 중 하나로, 파일 처리 및 변환 작업을 효과적으로 수행할 수 있게 해줍니다. 스트림을 사용하면 대용량 파일에 대한 작업을 메모리를 효율적으로 사용하면서 수행할 수 있으며, 다양한 플러그인을 활용하여 파일을 손쉽게 가공할 수 있습니다. Gulp의 스트림을 잘 이해하고 활용하면 프로젝트의 빌드 및 자동화 과정을 더욱 효과적으로 관리할 수 있습니다.

반응형

'gulp.js' 카테고리의 다른 글

9. 자동화 작업 구성 - 1  (0) 2024.01.18
8. Gulp 플러그인 활용 - 2  (0) 2024.01.18
7. Gulp 플러그인 활용 - 1  (0) 2023.12.31
6. Gulp의 핵심 개념 - 3  (0) 2023.12.31
4. Gulp의 핵심 개념 - 1  (0) 2023.03.26
3. Gulp.js 소개와 설치-3  (0) 2023.03.19
2. Gulp.js 소개와 설치 - 2  (0) 2023.03.19
1. Gulp.js 소개와 설치 - 1  (0) 2023.03.19