2014-05-22 5 views
3

그래서 내가 (나는 그것이 중요한 일에 대해 투덜하지 꿀꺽를 사용하고 있습니다)의 벌금을 실행하고이 코드를 가지고 :handlebars.precompile에 옵션을 전달하는 방법은 무엇입니까?

var handlebars = require('handlebars'), 
    rename = require('gulp-rename'), 
    map = require('vinyl-map'); 

gulp.task('test', function(){ 
return gulp.src(config.path.template+"/*.handlebars") 
     .pipe(map(function(contents) { 
      return handlebars.precompile(contents.toString()); 
     })) 

.pipe(rename({ extname: '.js' })) 
.pipe(gulp.dest(config.path.template+"/test")) 
}); 

모든 것이 완벽하게 실행의의 .js 파일은 좋은 폴더에 생성하지만 -s 매개 변수없이 생성해야합니다. 예를 들어 handlebars path/to/my/hbs.handlebars -f path/to/my/out/folder.js -s (또는 --simple)을 실행하면 생성 된 파일이 동일합니다. 그러나 -s 매개 변수없이 실행하려면이 명령이 필요하며 gulpfile에이 인수를 전달할 방법을 찾을 수 없습니다. 배열의 배열에서 Json의 문자열에서 -s falsesimple false과 함께 시도한 것들을 많이 시도했습니다. isSimple false (핸들 막대 코드에서 발견 된 것).

아무 것도 작동하지 않으며 실제로 -s 매개 변수를 false로 전달해야합니다. 나는 다음과 같이 할 필요가 있다고 가정한다.

[...] 
return handlebars.precompile(contents.toString(), options); 
[...] 

그러나이 옵션을 사용하는 적절한 구문이나 방법을 찾을 수 없다. 그리고 그것은 내 문제입니다.

추신 : 나는 gulp-handlebars 대신 이것을 사용하여 사용하고 싶은 핸들 바를 사용할 수 있습니다.

handlebars.js 코드에서 검색 EDIT

, 난 그냥 options 객체 것을 발견,하지만 난 그가 내가 좋은 자바 스크립트 사용자 아니에요으로 가득 무엇을 찾을 수 없습니다.

답변

0

원본에는 이러한 스위치가없는 것 같습니다. 명령 행 도구에서 사용되는 precompiler source에서 촬영 :

 if (opts.simple) { 
     output.push(Handlebars.precompile(data, options) + '\n'); 
     } else if (opts.partial) { 
     if (opts.amd && (opts.templates.length == 1 && !fs.statSync(opts.templates[0]).isDirectory())) { 
      output.push('return '); 
     } 
     output.push('Handlebars.partials[\'' + template + '\'] = template(' + Handlebars.precompile(data, options) + ');\n'); 
     } else { 
     if (opts.amd && (opts.templates.length == 1 && !fs.statSync(opts.templates[0]).isDirectory())) { 
      output.push('return '); 
     } 
     output.push('templates[\'' + template + '\'] = template(' + Handlebars.precompile(data, options) + ');\n'); 
     } 

opts 당신이 전달 된 것입니다, 다른 변수 optionsprecompile 전달됩니다. 장식은 명령 행 도구로 추가됩니다. 스크립트에서 몇 줄 아래에 닫는 괄호가있는 두 번째 블록이 있습니다. 해당 소스를 코드에 가장 잘 복사하거나 꿀꺽 꿀꺽 스크립트의 .cli 개체에 액세스하는 것이 가장 좋습니다.

관련 문제