我不明白assethic路径是如何运作的。
{% block stylesheets %}
<link href="{{ asset('/bundles/dproc/css/base.css') }}" type="text/css" rel="stylesheet" />
{% endblock %}
我的css和图片位于/ bundles / dproc /目录中。我在下面显示的代码有效,但我不明白为什么我应该使用资产功能,我可以这样做并得到相同的结果
{% block stylesheets %}
<link href="/bundles/dproc/css/base.css" type="text/css" rel="stylesheet" />
{% endblock %}
那资产的功能是什么?或者我的路径应该如何使用资产功能?
答案 0 :(得分:2)
因为你可能不应该那样使用它。你可能应该像这样用css使用Assetic:
{% block stylesheets %}
{% stylesheets
'/bundles/dproc/css/base.css' {# this will just get base.css #}
'/bundles/dproc/css/mycustomdir/* {# this will find all css files in that dir #}
%}
<link href="{{ asset_url }}" rel="stylesheet">
{% endstylesheets %}
{% endblock %}
通过这样设置(使用默认配置),在 dev 环境中,您将获得完全相同的内容,就像您刚使用<link .... >
而没有资产一样。但在生产环境中,您的整个stylesheets
资产块将合并到一个文件中,以减少请求数。
稍后,您可以设置一些css和javascript minifiers并使它们在生产环境中运行。所以,当你切换到制作时,你将拥有漂亮,经济的 css 和 javascript ,而在开发环境中,如果你没有,你会得到你所期望的完全使用资产。
此外,如果您使用less
或sass
或需要预编译的内容,您可以只包含这些文件,并告诉资产者在更改后自动重新编译它们。