[javascript] Gulp를 사용하여 자바스크립트 파일에 CSS 프리프로세서(SCSS, Less)를 사용하는 방법

이번 블로그 포스트에서는 Gulp를 사용하여 자바스크립트 파일에 CSS 프리프로세서(SCSS, Less)를 사용하는 방법에 대해 알아보겠습니다.

Gulp란?

Gulp는 자바스크립트 기반의 빌드 도구로, 프로젝트를 관리하고 작업을 자동화하는 데 사용됩니다. Gulp를 사용하면 코드를 최적화하고 파일 변화를 감지하여 필요한 작업을 자동으로 실행할 수 있습니다.

설치 및 설정

먼저 Gulp를 설치하기 위해 다음 명령어를 사용합니다:

npm install -g gulp-cli

프로젝트 폴더에 Gulp를 설치하기 위해 다음 명령어를 사용합니다:

npm install --save-dev gulp

이어서 CSS 프리프로세서를 사용하기 위한 플러그인을 설치합니다. SCSS를 사용할 경우 다음 명령어를 사용합니다:

npm install --save-dev gulp-sass

Less를 사용할 경우 다음 명령어를 사용합니다:

npm install --save-dev gulp-less

Gulp 태스크 생성

Gulp를 사용하여 자바스크립트 파일에 CSS 프리프로세서를 적용하기 위해 Gulp 태스크를 생성해야 합니다.

먼저 gulpfile.js 파일을 프로젝트 폴더에 생성합니다. 그리고 다음 코드를 gulpfile.js에 추가합니다:

const gulp = require('gulp');
const sass = require('gulp-sass');
const less = require('gulp-less');

gulp.task('scss', function() {
  return gulp.src('src/scss/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('dist/css'));
});

gulp.task('less', function() {
  return gulp.src('src/less/*.less')
    .pipe(less())
    .pipe(gulp.dest('dist/css'));
});

gulp.task('default', gulp.parallel('scss', 'less'));

위 코드에서 gulpfile.js에서 Gulp를 사용하기 위해 gulp와 필요한 CSS 프리프로세서 플러그인을 임포트하고, gulp.task를 사용하여 scssless 태스크를 생성합니다. gulp.task의 첫 번째 인자는 태스크 이름이고, 두 번째 인자는 해당 태스크가 실행되는 함수입니다.

scss 태스크는 src/scss/*.scss 경로에 있는 SCSS 파일을 컴파일하여 dist/css 경로에 저장합니다. less 태스크는 src/less/*.less 경로에 있는 Less 파일을 컴파일하여 dist/css 경로에 저장합니다.

gulp.parallel 메소드를 사용하여 default 태스크를 생성합니다. default 태스크는 scssless 태스크를 병렬로 실행합니다.

Gulp 실행

이제 Gulp를 실행하여 자바스크립트 파일에 CSS 프리프로세서를 적용할 수 있습니다. 다음 명령어를 사용하여 Gulp를 실행합니다:

gulp

위 명령어를 실행하면 src/scsssrc/less 경로의 파일이 컴파일되어 dist/css 경로에 저장됩니다.

결론

Gulp를 사용하여 자바스크립트 파일에 CSS 프리프로세서를 적용하는 방법에 대해 알아보았습니다. Gulp를 사용하면 프로젝트를 효율적으로 관리하고 작업을 자동화할 수 있습니다. Gulp와 CSS 프리프로세서를 함께 사용하여 개발 프로세스를 더욱 효율적으로 만들어보세요.

참고 자료