2012-02-26 3 views
1

브런치와 함께 콧수염 템플릿을 사용하고 싶습니다. 이건 내 config.coffee 파일입니다브런치에서 콧수염 템플릿을 만드는 법

{languages, plugins} = require 'brunch-extensions' 

# Make config loadable via require() for brunch. 
exports.config = 
    # Available plugins: 
    # * AssetsPlugin: copy `app/assets` contents to `build/` 
    plugins: [plugins.AssetsPlugin] 

    # Contains a list of output filenames that your application would generate. 
    # Format: 
    # 
    # 'filename': 
    # languages: 
    #  'regExp, with which input files will be matched': language class 
    # order: 
    #  before: [files, that would be loaded before anything else] 
    #  after: [files, that would be loaded after anything else] 
    # 
    files: 
    'scripts/app.js': 
     languages: 
     '\.js$': languages.JavaScriptLanguage 
     '\.coffee$': languages.CoffeeScriptLanguage 
     '\.eco$': languages.EcoLanguage 
     '\.mustache$': languages.HoganLanguage 
     order: 
     before: [ 
      'vendor/scripts/console-helper.js' 
      'vendor/scripts/jquery-1.7.js' 
      'vendor/scripts/underscore-1.1.7.js' 
      'vendor/scripts/backbone-0.5.3.js' 
     ] 

    'styles/app.css': 
     languages: 
     '\.css$': languages.CSSLanguage 
     '\.styl$': languages.StylusLanguage 
     order: 
     before: ['vendor/styles/normalize.css'] 
     after: ['vendor/styles/helpers.css'] 

그러나 brunch watch를 시작할 때 나는 다음과 같은 오류가 발생했습니다 :

[17:27:45]: [Brunch]: cannot parse config entry 
config.files['scripts/app.js'].languages['.mustache$']: TypeError: undefined is not a function. 
+0

이것을 알아낼 수 있었습니까? – jsf

+0

아니요. 언어 폴더에서 아무런 참조를 찾을 수 없어서 콧수염지지를 떨어 뜨리는 것 같습니다. –

답변

1

실제로, 브런치 - 확장 0.2.2에는 콧수염 지원이없는 것 같다.

npm install https://github.com/brunch/brunch-extensions/tarball/master 

아니면 their github에서, 자신의 HoganLanguage을 추가 할 수 있습니다 : 당신은 그냥 hogan.js을 설치하는 경우

hogan = require 'hogan.js' 
{BaseLanguage} = require './base' 

# Requires Hogan 1.0.4 
# 
# Example: 
# $(@el).html(template.render name: "mdp", city: "SF") 
class exports.HoganLanguage extends BaseLanguage 
    compile: (path, callback) -> 
    @readFile path, (error, data) => 
     return callback error if error? 
     try 
     content = hogan.compile data, asString: yes 
     callback null, "exports.render = function(data) { 
      var t = new Hogan.Template(); 
      t.r = #{content}; 
      return t.render(data); 
     }" 
     catch error 
     callback error 

그것은 잘 작동합니다 당신이 할 수있는 마스터 지점에서 직접 브런치-확장을 설치 중입니다 위의 {BaseLanguage} = require 'brunch-extensions/lib/languages/base'으로 변경하십시오.

+0

브런치 확장 기능을 0.3으로 업그레이드해야한다고 들었습니다. 오늘 밤 그렇게 할거야. – jsf