2017-02-10 1 views
1

나는 문자 그대로 불과 몇 시간 만 지나면 꿀꿀 거리다. 나는 grunt-cache-breaker를 사용하여 내 웹 사이트를 cache-bust로 설정하려고합니다. 지금은 내가 수동으로 모든 파일 소스의 예에서 입력 할 때 작동하도록 가지고있다 :외부 파일의 비정상적인 작업 속성로드

grunt.initConfig을 ({

cachebreaker: { 
     dev: { 
      options: { 
       match: ['.js', '.css', 'min.css'], 
       src: { 
        path: 'TEST/Apps/**/*' 
       } 
      }, 
      files: { 
       src: ['TEST/Apps/AppTemplate/v1.0.0/index.html', 
         'TEST/Apps/Case_Attributes/v1.0.0/index.html', 
         'TEST/Apps/Case_CorrespondenceReferences/v1.0.0/index.html', 
       ',  
       ] 
      } 
     }, 
    }, 

});

그러나 내가 정말하고 싶은시키는 문제가이 같은 미리 생성 된 텍스트 파일에서 files.src의 목록을 구축 할 수있을 것입니다 :

grunt.initConfig({ 

    cachebreaker: { 
     dev: { 
      options: { 
       match: ['.js', '.css', 'min.css'], 
       src: { 
        path: 'TEST/Apps/**/*' 
       } 
      }, 
      files: { 
       src: function(){ 
        return grunt.file.read('config.txt') 
       } 

      } 
     }, 
    }, 

});

또는 이에 영향을주는 사항. 이것이 가능한가? 또는 나는 표 떨어져 완전하게인가?

답변

1

는 연주보다 몇 시간 후 나는이 솔루션을 내놓았다 :

module.exports = function(grunt) { 

grunt.initConfig({ 

    config: grunt.file.readJSON('config.json'), 

    cachebreaker: { 
     dev: { 
      options: { 
       match: ['.js', '.css', 'min.css'], 
       src: { 
        path: 'TEST/Apps/**/*' 
       } 
      }, 
      files: { 
       src: ['<%= config %>'], 
      } 
     }, 
    }, 
}); 
grunt.loadNpmTasks('grunt-cache-breaker'); 
grunt.registerTask('default', ['cachebreaker']); 

}; 
0

이 할 수있는 다른 매우 다양한 방법으로 런타임에서 작업 매개 변수를 생성하는 것입니다. 파일 이름 목록을 배열 list에로드한다고 가정 해보십시오. 라고 한 후 grunt.initConfig() 당신은이 작업을 수행 할 수 있습니다

입니다
grunt.config.merge({ 
    cachebreaker: { 
     dev: { 
      files: { src: list } 
     } 
    } 
}), 

, 당신이 원하는이 다른 속성으로 설정 개체를 업데이트합니다.