2012-09-11 1 views
8

그런트가 도우미를 제거하고 있는데 이것은 grunt-contrib에서 이미 발생했습니다.도우미의 코드에서 작업을 호출하는 방법 도우미가 없어 졌을 때

그러나 일부 헬퍼를 호출하는 사용자 정의 작업에 의존하는 툴팁 파일이 있습니다. 도우미가 없으면 끊어집니다. 나는 그것들을 대체하는 올바른 방법이 무엇인지 궁금 할 뿐이다.

나는 어떤 방식 으로든 직접적으로 작업을 호출하게 될 것이지만 나는 확실하지 않다. Grunt 문서가 아직 업데이트되지 않았으므로 예제가 도움이 될 것입니다.

감사합니다. 일부 연구 꿀꿀-있는 contrib의 테이너의 도움, 나는 그 작업을 재 작성 후

답변

9

좋아, 내가 가진이 속으로

grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() { 
    grunt.file.expandFiles(this.data).forEach(function(file) { 
     var minified = grunt.helper("mincss", grunt.file.read(file)); 
     grunt.file.write(file, minified); 
     grunt.log.writeln("Minified CSS "+file); 
    }); 
}); 

다음 설정에 필요한

grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() { 
    var count = 0; 
    grunt.file.expandFiles(this.data).forEach(function(file) { 
     var property = 'mincss.css'+count+'.files'; 
     var value = {}; 
     value[file] = file; 
     grunt.config(property, value); 
     grunt.log.writeln("Minifying CSS "+file); 
     count++; 
    }); 
    grunt.task.run('mincss'); 
}); 

없음 변화 파일. 새로운 코드 조각은 도우미 대신 작업 자체를 사용합니다.

이것은 가장 좋은 접근 방법이 아니며 Grunt 0.4.0가 게임을 다시 바꿀 수도 있지만 Grunt 0.3.15 및 grunt-contrib 0.2를 사용하면 즉시 작동합니다.

+1

나는 또한 질문에 대해 매우 궁금해서 현재 비슷한 것을하고있다. 그러나 그것은 나에게 비효율적 인 것처럼 보인다. 'var result = grunt.task.run ('mincss', [ 'style1.css', 'style2.css', ...])와 같은 일을하는 대신에 태스크의 설정을 해킹하고 실행한다. 그것은 보통의 방법입니다. 다른 작업을위한 데이터를 동적으로 준비하는 방법을 사용하고 있다면,이를 수행하는 더 좋은 방법이 있어야한다고 생각합니다. 가능한 경우 grunt-contrib 관리자와의 토론에 연결해주십시오. –

+0

발견, 토론 링크 : https://github.com/gruntjs/grunt-contrib/issues/118 –

관련 문제