とHandlebars.jsファイルが含まれています。管理し、私は私の小枝ファイルから私のhandlebars.jsテンプレートを除外したいのsymfony 2.1とAssetic
私はすべてのハンドルバーテンプレートを配置したhbs
という名前のpublic
フォルダに新しいディレクトリを作成しました。これらのテンプレートをレンダリングし、それをスクリプトタグでラップするにはどうすればよいのでしょうか?
とHandlebars.jsファイルが含まれています。管理し、私は私の小枝ファイルから私のhandlebars.jsテンプレートを除外したいのsymfony 2.1とAssetic
私はすべてのハンドルバーテンプレートを配置したhbs
という名前のpublic
フォルダに新しいディレクトリを作成しました。これらのテンプレートをレンダリングし、それをスクリプトタグでラップするにはどうすればよいのでしょうか?
あなたはAsseticBundle 2.1.2以降が必要です。それに加えて、あなたは3つのことを行う必要があります。
instructions on the handlebars websiteに従ってインストール
。または、短い:
npm install handlebars -g
フィルタの設定
は、あなたの設定ファイルにこれを追加します。
assetic:
filters:
handlebars:
apply_to: "\.handlebars$"
これが「で終わるすべてのファイルにハンドルバーのフィルタを適用するasseticを教えてくれます。ハンドルバー "を作成し、効果的にコンパイルされたハンドルバーテンプレートに変換します。あなたは好きなように設定を調整することができます。
ハンドルバーのコンパイラがデフォルトの場所(/ usr/bin/handlebars)にない場合は、asseticに指示する必要があります。そのためにハンドルバーフィルターの "bin"設定を使用してください。小枝テンプレート
で
assetic:
filters:
handlebars:
apply_to: "\.handlebars$"
bin: node_modules/handlebars/bin/handlebars
参考:あなたは(-gオプションなしでNPMを使用して)、プロジェクトのサブディレクトリにインストールしている場合たとえば、あなたのコンフィグ は次のようになります。あなたの小枝テンプレートに、javacriptファイルの挿入方法と同様の新しい参照を追加してください。
{% javascripts
'@MyBundle/Resources/public/hbs/*.handlebars'
output='assets/my-handlebars-templates.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
プロジェクトでテンプレートを使用できます。それらはHandlebars.templates [templatename]に格納され、 "template-name"は ".handlebars"を除くテンプレートのファイル名です。
希望するもの...
ハンドルバーの正しいパスをbinに入れることができます。次は私のために働いた。
assetic:
filters:
handlebars:
apply_to: "\.handlebars"
bin: /usr/local/bin/handlebars
which handlebars
を使用してハンドルバーの右の場所がすごいゲット。ありがとう! –
ノードの場合。js実行可能ファイルは '/ usr/bin/node'とは別の場所にあります(例えば、Mac OS Xにインストールした場合は'/usr/local/bin/node'にあります) :/ path/to/node'を 'handlebars' asseticフィルタ設定に変更します。 – chiborg