[javascript] Grunt를 통해 웹페이지에서 사용되지 않는 이미지 파일을 자동으로 삭제하는 방법은 무엇인가요?
이미지 파일을 자동으로 삭제하는 기능은 Grunt의 플러그인 중 하나인 grunt-contrib-imagemin
을 사용하면 간단하게 구현할 수 있습니다. 이 플러그인은 이미지 파일을 최적화하고 압축하는 기능을 제공합니다.
먼저, 프로젝트 폴더에서 Grunt를 설치해야 합니다. 명령 프롬프트 또는 터미널에서 아래의 명령어를 실행합니다.
npm install -g grunt-cli
그리고 나서, 프로젝트 폴더에서 package.json
파일을 생성하기 위해 아래의 명령어를 실행합니다.
npm init
package.json
파일이 생성된 후, Grunt와 grunt-contrib-imagemin
플러그인을 설치하기 위해 아래의 명령어를 실행합니다.
npm install grunt grunt-contrib-imagemin --save-dev
그리고 나서, 프로젝트 폴더에 Gruntfile.js
파일을 생성합니다. 이 파일은 Grunt의 설정 파일로 사용됩니다. Gruntfile.js
파일에 아래의 코드를 추가합니다.
module.exports = function(grunt) {
grunt.initConfig({
imagemin: {
dynamic: {
files: [{
expand: true,
cwd: 'src/images/', // 이미지 파일이 있는 폴더 경로
src: ['**/*.{png,jpg,gif}'], // 이미지 파일 확장자
dest: 'dist/images/' // 최적화된 이미지 파일을 저장할 폴더 경로
}]
}
}
});
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.registerTask('default', ['imagemin']);
};
위의 코드에서 cwd
는 원본 이미지 파일이 위치한 폴더 경로를, src
는 원하는 이미지 확장자를 설정합니다. dest
는 최적화된 이미지 파일을 저장할 폴더 경로를 지정합니다.
이제, 터미널에서 아래의 명령어를 실행하여 이미지 파일을 자동으로 최적화하고 삭제합니다.
grunt
이 명령어를 실행하면 cwd
에 지정한 폴더에서 src
에 지정한 확장자를 가진 이미지 파일이 최적화되고, 최적화된 파일이 dest
에 지정한 폴더로 저장됩니다. 이미지 파일이 이미 최적화되어 있거나 사용되지 않는 경우 해당 이미지 파일은 자동으로 삭제됩니다.
참고문서: