Joh*_*auß 6 handlebars.js assetic symfony-2.1
我想从我的twig文件中排除我的handlebars.js模板.
所以我在public名为的文件夹中创建了一个新目录hbs,我放置了所有的车把模板.如何告诉assetic呈现这些模板并用脚本标记包装它?
小智 9
您需要AsseticBundle 2.1.2或更高版本.除此之外,你需要做三件事:
安装编译器
npm install handlebars -g
Run Code Online (Sandbox Code Playgroud)
配置过滤器
将其添加到您的配置文件中:
assetic:
filters:
handlebars:
apply_to: "\.handlebars$"
Run Code Online (Sandbox Code Playgroud)
这将告诉资产者将把手过滤器应用于以".handlebars"结尾的所有文件,有效地将它们变成编译的把手模板.您可以将设置调整为您喜欢的任何结尾.
如果把手编译器不在默认位置(/ usr/bin/handlebars),您可能需要告诉资产.使用把手过滤器的"bin"设置.例如,如果您已将其安装在项目的子目录中(通过使用不带-g选项的npm),您的配置可能如下所示:
assetic:
filters:
handlebars:
apply_to: "\.handlebars$"
bin: node_modules/handlebars/bin/handlebars
Run Code Online (Sandbox Code Playgroud)
在Twig模板中引用
在twig模板中添加一个新引用,类似于包含javascript文件的方式:
{% javascripts
'@MyBundle/Resources/public/hbs/*.handlebars'
output='assets/my-handlebars-templates.js'
%}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用项目中的模板.它们存储在Handlebars.templates [templatename]中,"template-name"是模板的文件名,不包括".handlebars".
希望有帮助......
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |