grunt 사용하실 때 플러그인 로드의 편의를 위해 load-grunt-tasks를 사용하시나요?
속도면에서 조금 더 뛰어난 jit-grunt로 바꿔보세요!
jit-grunt
https://www.npmjs.org/package/jit-grunt
설치
$ npm install jit-grunt --save-dev
task 이름을 기준으로 해서 task를 실행할 때(JIT: Just In Time) 플러그인을 로드해주기 때문에 grunt 수행속도가 몇초이긴 하지만 체감할 정도로 빨라집니다.
불필요한 플러그인을 로드하지 않기 때문에, 특히 watch를 쓸 때 매우 좋아 보입니다.
jit-grunt: 8.6초
load-grunt-tasks: 10.5초
기본형태
require('jit-grunt')(grunt);
기본적으로 task 이름, grunt-[task 이름], grunt-contrib-[task 이름]에 매칭을 하고, 예외적인 경우에는 수동으로 입력할 수 있습니다.
예외적인 경우의 Task 맵핑
require('jit-grunt')(grunt, { sprite: 'grunt-spritesmith', hello: 'custom/say-hello.js' // for custom tasks. });
grunt.loadTasks로 불러쓰던 외부 js 파일도 위와 같은 방법으로 맵핑할 수 있고,
또는 customTasksDir 옵션을 이용해서 디렉토리를 지정해서 로드 할 수 있습니다. 이 때 js 파일명이 task명과 동일해야 합니다.
require('jit-grunt')(grunt, { sprite: 'grunt-spritesmith', hello: 'custom/say-hello.js' // for custom tasks. })({ customTasksDir: '.grunt-tasks' // 디렉토리명(Gruntfile의 상대경로) });
이름 때문에 맵핑되지 않는 task가 있어서 조금 불편할 수는 있지만, 속도때문에 답답한 부분을 줄여줄 수 있는 좋은 플러그인입니다.
스크린샷에 나온 시간 표시부분은 time-grunt를 활용했습니다.
감사합니다.
0개의 댓글