[javascript] Grunt란 무엇인가요?

Grunt는 Node.js에서 실행되며, 프로젝트 내의 package.json 파일에 의존성을 명시하여 설치할 수 있습니다. 그 후, Gruntfile.js에 작업 설정을 정의하고, 명령어를 실행하면 Grunt가 설정에 따라 작업을 수행합니다.

Grunt는 다양한 플러그인을 제공하여 다양한 작업을 처리할 수 있습니다. 예를 들어, 파일의 변경 사항을 감지하여 자동으로 소스 코드 변환 작업을 실행하거나, CSS 파일을 압축하여 성능을 향상시키는 등의 작업을 수행할 수 있습니다.

아래는 Grunt를 사용하여 CSS 파일을 압축하는 예제 코드입니다.

module.exports = function(grunt) {
  // Grunt 초기 설정
  grunt.initConfig({
    // CSS 압축 작업 설정
    cssmin: {
      options: {
        // 압축 옵션 설정
        compress: true
      },
      target: {
        // 압축 대상 파일 설정
        src: 'styles/main.css',
        dest: 'dist/main.min.css'
      }
    }
  });

  // Grunt 플러그인 로드
  grunt.loadNpmTasks('grunt-contrib-cssmin');

  // Default 작업 등록
  grunt.registerTask('default', ['cssmin']);
};

위 코드는 grunt-contrib-cssmin 플러그인을 사용하여 styles/main.css 파일을 압축하고, 압축된 결과를 dist/main.min.css 파일로 저장합니다. 이 작업은 grunt 명령어로 실행할 수 있고, Gruntfile.js 파일이 있는 디렉토리에서 실행해야 합니다.