도쿄사는 외노자

grunt-cache-breaker 본문

Tech/NPM

grunt-cache-breaker

Enrai 2016. 3. 11. 12:05

뒤늦게 Grunt를 접하고, 이것저것 만져 보고 있는데...

꽤 쓸만한 녀석이 있어, 바로 써먹어 보았다.


grunt-cache-breaker


적용 방법은 다음과 같다.

일단 grunt-cli가 없는 경우 npm으로 긁어오고...



package.json을 작성한다.

1
2
3
4
5
6
7
8
9
{
  "name": "Test",
  "version": "1.9.0",
  "devDependencies": {
    "grunt": "~0.4.5",
    "moment": "^2.8.3",
    "grunt-cache-breaker": "^1.0.1"
  }
}
cs


그 후,

1
npm install
cs

로 노드 모듈 다 땡겨오고


Gruntfile.js를 작성한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
'use strict';
var moment = (require('moment'))();
 
module.exports = function (grunt) {
  var timestamp = 'None';
 
  grunt.initConfig({
    cachebreaker: {
        dist: {
          options: {
              match: ['.js(?!p)'],
              replacement: function () {
                return moment.format('YYYYMMDDhhmmss');
              }
          },
          files: {
            src: ['WEB-INF/view/**/*.jsp']
          }
        }
      }
  });
 
  grunt.loadNpmTasks('grunt-cache-breaker');
 
  // TASK名を「break」に指定
  // Cache-breakingをするときは、コンソールで「grunt break」
  grunt.registerTask('break', ['cachebreaker:dist']);
 
  // DefaultのTaskはBuildとする
  grunt.registerTask('default', ['build']);
};
cs


이후, package.json과 Gruntfile.js가 있는 폴더에서

1
grunt break
cs

를 돌리면 끝.


이 예시의 경우는 match가 저질코드긴 한데...

js만 캐시브레이킹 하려고 했더니, jsp까지 잡아버리길래

js만 건질 방법을 찾으려다가, 그냥 뒤에 p가 안붙는 애를 잡는 걸로 대충 정해버렸다.

'Tech > NPM' 카테고리의 다른 글

Typescript+ESLint+Prettier+VSCode  (0) 2022.09.09
nvm-windows로 노드 버전 관리  (0) 2022.02.22
npm install에서의 Git branch지정  (0) 2021.07.15
NPM Error : "ERR! code EPEERINVALID"  (0) 2016.12.06