我通常将我的JS和CSS Assetic资产放在DefaultBundle中,但我认为放置它们的最佳位置是app/Resources/public /(js | css)文件夹.
另外,要参考我们使用的资产:
{% javascripts filter="" output="js/core.js" debug=true
"@DefaultBundle/Resources/public/js/jquery-1.6.2.js" %}
<script src="{{ asset_url }}" type="text/javascript"></script>
{% endjavascripts %}
Run Code Online (Sandbox Code Playgroud)
我如何在app/Resources/public/...中引用共享资源,如jQuery和我的CSS重置样式表?
Dav*_*ett 27
你也可以用这个:
{% stylesheets '../app/Resources/public/css/*' %}
<link href="{{ asset_url }}" type="text/css" rel="stylesheet" />
{% endstylesheets %}
Run Code Online (Sandbox Code Playgroud)
jul*_*bou 24
是的,不将库放在Bundle中是个不错的选择
见这里:http://symfony.com/doc/current/cookbook/bundles/best_practices.html#vendors
捆绑包不应嵌入用JavaScript,CSS或任何其他语言编写的第三方库.
我建议你,是把你的jquery和重置文件放在以下的东西:app/Resources/public/js/jquery.min.js并改变你的代码,如:
{% javascripts filter="" output="js/core.js" debug=true
"../app/Resources/public/js/jquery-1.6.2.js" %}
<script src="{{ asset_url }}" type="text/javascript"></script>
{% endjavascripts %}
Run Code Online (Sandbox Code Playgroud)
我希望这对你有用.
编辑:编辑的答案就像/sf/answers/646590311/,谢谢大卫.
我的解决方案几乎是一样的大卫的,但用%kernel.root_dir%的不是硬编码的app文件夹(虽然,我怀疑很多改变这个文件夹的名称),例如:
{%- javascripts output='compiled/main.js'
'%kernel.root_dir%/Resources/public/js/jquery-1.10.2.min.js'
'%kernel.root_dir%/Resources/public/js/underscore-1.5.2.min.js'
'@MyOwnBundle/Resources/public/js/default.js'
-%}
<script src='{{ asset_url }}'></script>
{%- endjavascripts %}
Run Code Online (Sandbox Code Playgroud)
如果第三方库引用它们自己的资产(例如,通常是img从.css文件引用的子文件夹中的图像),通常就足以在服务器上创建相应的符号链接,例如ln -s .../app/Resources/public/img .../web/img类似的东西.或者当然使用cssrewrite过滤器 - 但要注意它的警告.
(另请注意,我不使用该type="<mime-type>"属性,因为无论如何都在HTTP头中提供了文件的内容类型.)
| 归档时间: |
|
| 查看次数: |
24830 次 |
| 最近记录: |