我已经使用symfony2构建了一个应用程序,该应用程序公开了一个REST Api。
现在我构建了一个用于消费的简单客户端
App = Em.Application.create
ready: ->
@.entradas.load()
Entrada: Em.Object.extend()
entradas: Em.ArrayController.create
content: []
load: ->
url = 'http://localhost/api/1/entrada'
me = @
$.ajax(
url: url,
method: 'GET',
success: (data) ->
me.set('content', [])
for entrada in data.data.objects
me.pushObject DBPlus.Entrada.create(entrada)
)
<script type="text/x-handlebars" src="{{ asset('js/templates/entradas.hbs') }}"></script>
<script src="{{ asset('js/libs/jquery-1.7.2.min.js') }}"></script>
<script src="{{ asset('js/libs/handlebars-1.0.0.beta.6.js') }}"></script>
<script src="{{ asset('js/libs/ember-1.0.pre.min.js') }}"></script>
<script src="{{ asset('js/app.js') }}"></script>
这里的问题是,当我在dev
环境中运行并链接模板,例如<script type="text/x-handlebars" src="{{...}}">
应用程序不起作用时,没有显示但在prod
环境下工作正常。
他唯一适用于dev
环境的方式是内联模板
<script type="text/x-handlebars">
{% raw %}
<ul class="entradas">
{{#each App.entradas}}
<li class="entrada">{{nombre}}</li>
{{/each}}
</ul>
{% endraw %}
</script>
assetic:
debug: %kernel.debug%
use_controller: false
bundles: [ ]
#java: /usr/bin/java
filters:
cssrewrite: ~
#closure:
# jar: %kernel.root_dir%/Resources/java/compiler.jar
#yui_css:
# jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar
答案 0 :(得分:0)
在开发环境中,由此生成的URL:{{asset('js / templates / entradas.hbs')}}它有用吗?因为它可能不起作用,你会得到哪个错误?
答案 1 :(得分:0)
使用rake-pipeline,我用以下代码编写了一个AssetFile:
output BUILD_DIR
input SRC_DIR do
match '**/*.handlebars' do
handlebars :precompile => true
concat 'template.js'
end
end
并在我的layout.html.twig
包含
<script src="{{ asset('js/template.js') }}"></script>
答案 2 :(得分:0)
尝试更改树枝Twig_Environment
$this->options = array_merge(array(
'tag_comment' => array('{$', '$}'),
'tag_block' => array('{%', '%}'),
'tag_variable' => array('<%', '%>'),
'whitespace_trim' => '-',
'interpolation' => array('${', '}'),
), $options);
路径:\ lib \ Twig \ Lexer.php