[javascript] Grunt를 사용하여 웹페이지의 이미지 파일을 자동으로 최적화하고 스프라이트 이미지를 생성하는 방법은 무엇인가요?
  1. Grunt 초기 설정:
    npm init
    npm install grunt --save-dev
    
  2. Grunt 플러그인 설치:
    npm install grunt-contrib-imagemin --save-dev
    npm install grunt-spritesmith --save-dev
    
  3. Grunt 파일 생성:
    module.exports = function(grunt) {
      grunt.initConfig({
        imagemin: {
          dynamic: {
            files: [{
              expand: true,
              cwd: 'src/images/',
              src: ['**/*.{png,jpg,gif}'],
              dest: 'dist/images/'
            }]
          }
        },
        sprite:{
          all: {
            src: 'src/images/sprites/*.png',
            dest: 'dist/images/sprites.png',
            destCss: 'dist/css/sprites.css'
          }
        }
      });
    
      grunt.loadNpmTasks('grunt-contrib-imagemin');
      grunt.loadNpmTasks('grunt-spritesmith');
    
      grunt.registerTask('default', ['imagemin', 'sprite']);
    };
    
  4. Grunt 실행:
    grunt
    

이렇게 설정된 Grunt 파일은 src/images/ 디렉토리의 이미지 파일을 최적화하여 dist/images/ 디렉토리에 저장하고, src/images/sprites/ 디렉토리의 이미지 파일을 스프라이트 이미지로 생성하여 dist/images/sprites.png 파일과 dist/css/sprites.css 파일을 생성합니다.