2013-03-25 39 views
6

ile Handlebars.js dosyalarını yönetin ve dahil edin Benim handlebars.js şablonumu twig dosyamdan hariç tutmak istiyorum.Symfony 2.1 ve Assetic

hbs adlı public klasöründe yeni bir dizin oluşturdum, burada tüm gidon şablonlarını yerleştirdim. Bu şablonları oluşturmayı ve komut dosyası etiketiyle sarmalamayı nasıl destekleyebilirim?

cevap

9

AsseticBundle 2.1.2 veya sonraki bir sürümü gerekir.

  1. sizin gidon şablonları
  2. derlemeye gidon derleyici
  3. yapılandır bir assetic filtre takın sizin dal şablondaki ekleyin: Bunun yanı sıra, üç şey yapmanız gerekir. derleyici

    instructions on the handlebars website izleyin takma

. Ya da, daha kısa:

npm install handlebars -g 

Yapılandırma dosyanıza bu ekle filtreyi

Yapılandırılması:

assetic: 
    filters: 
     handlebars: 
      apply_to: "\.handlebars$" 

Bu "ile biten tüm dosyalara gidon filtre uygulamak için assetic söyleyecektir. handlebars ", bunları derlenmiş bir handlebars şablonuna dönüştürür. Ayarı, tercih ettiğiniz son ne olursa olsun ayarlayabilirsiniz.

Gidonunuzun derleyicisinin varsayılan konumda (/ usr/bin/handlebars) bulunmadığında nerede olduğunu söyleyebilmeniz gerekebilir. Bunun için gidon filtresinin "bin" ayarını kullanın. Eğer (-g seçeneği olmadan UÖM'yi kullanarak) Projenizin bir alt dizinine yükledikten Örneğin, sizin yapılandırma aşağıdaki gibi görünebilir: Twig şablonunda

assetic: 
    filters: 
     handlebars: 
      apply_to: "\.handlebars$" 
      bin: node_modules/handlebars/bin/handlebars 

Referans

javascript dosyaları dahil nasıl tutmaya benzer şekilde dal şablonunda yeni referans ekleyin:

{% javascripts 
    '@MyBundle/Resources/public/hbs/*.handlebars' 

     output='assets/my-handlebars-templates.js' 
     %} 
    <script type="text/javascript" src="{{ asset_url }}"></script> 
{% endjavascripts %} 

Sonra projenizde şablonları kullanabilirsiniz. Bunlar, ".handlebars" hariç şablonunuzun dosya adı olan "template-name" ile Handlebars.templates [templatename] içinde depolanır. yardımcı olur

Umut ...

+0

oldukça harika kullanarak gidon sağ konumunu alın. Teşekkürler! –

+1

Düğümünüz.js yürütülebilir,/usr/bin/node'den farklı bir konumdadır (örneğin,/usr/local/bin/node'da, eğer resmi yükleyiciden Mac OS X'e yüklediyseniz), 'node' eklemeniz gerekir. :/handle/to/node ''handlebars' assetic süzme yapılandırması. – chiborg

0

Sen çöpe gidonlara doğru yolu koyabilir. Daha sonra benim için çalıştı.

assetic: 
    filters: 
     handlebars: 
      apply_to: "\.handlebars" 
      bin: /usr/local/bin/handlebars 

which handlebars