我不明白资产路径是如何工作的。
{% block stylesheets %}
<link href="{{ asset('/bundles/dproc/css/base.css') }}" type="text/css" rel="stylesheet" />
{% endblock %}
我的css和图像在/bundles/dproc/目录中。我在下面显示的代码有效,但我不明白为什么要使用 asset 函数,我可以这样做并获得相同的结果
{% block stylesheets %}
<link href="/bundles/dproc/css/base.css" type="text/css" rel="stylesheet" />
{% endblock %}
那么资产的功能是什么呢?或者我的路径应该是什么样子的资产函数?
因为您可能甚至不应该那样使用它。您可能应该像这样将 Assetic 与 css 一起使用:
{% 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 %}
通过像这样设置它(使用默认配置),在开发环境中,您将获得与仅使用没有资产的<link .... >
完全相同的东西。但在生产环境中,您的整个stylesheets
资产块将合并到一个文件中,以减少请求数量。
稍后,您可以设置一些 css 和 javascript 简化器,并使它们在生产环境中运行。因此,当你切换到生产环境时,你将拥有漂亮、经济的 css 和 javascript,而在开发环境中,如果你根本不使用 assetic,你将拥有你所期望的。
此外,如果您使用less
或sass
或需要预编译的内容,则可以仅包含这些文件并告诉assetic在更改它们时自动重新编译它们。