[javascript] Grunt를 사용하여 웹페이지의 이미지 파일을 자동으로 최적화하고 스프라이트 이미지를 생성하는 방법은 무엇인가요?
- Grunt 초기 설정:
npm init npm install grunt --save-dev
- Grunt 플러그인 설치:
npm install grunt-contrib-imagemin --save-dev npm install grunt-spritesmith --save-dev
- 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']); };
- Grunt 실행:
grunt
이렇게 설정된 Grunt 파일은 src/images/
디렉토리의 이미지 파일을 최적화하여 dist/images/
디렉토리에 저장하고, src/images/sprites/
디렉토리의 이미지 파일을 스프라이트 이미지로 생성하여 dist/images/sprites.png
파일과 dist/css/sprites.css
파일을 생성합니다.