Symfony:Assetic不使用带引导包的控制器?

Symfony:Assetic不使用带引导包的控制器?,symfony,twig,Symfony,Twig,我是Symfony(2.4)的新手,很难理解Assetic是如何通过应用程序而不是脱离文件系统进行开发的 特别是,我正在尝试进行设置,这样我就不必为了开发而放弃我的资产 在我的基本模板文件中,我有: <link href="{{ asset('/css/bootstrap.css') }}" rel="stylesheet" media="screen"> 当我使用app_dev.php呈现页面时,路径不会改变,仍然会尝试通过不存在的/css/bootstrap.css加载它

我是Symfony(2.4)的新手,很难理解Assetic是如何通过应用程序而不是脱离文件系统进行开发的

特别是,我正在尝试进行设置,这样我就不必为了开发而放弃我的资产

在我的基本模板文件中,我有:

<link href="{{ asset('/css/bootstrap.css') }}" rel="stylesheet" media="screen">

当我使用app_dev.php呈现页面时,路径不会改变,仍然会尝试通过不存在的/css/bootstrap.css加载它

“使用\u控制器”的资产设置设置为true

但是,如果我包括这样的样式表:

{% stylesheets '@MyCustomBundle/Resources/public/css/*' %}
  <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
{%stylesheets'@MyCustomBundle/Resources/public/css/*'%}
{%endstylesheets%}
然后样式表的URL正确地以“app_dev.php”为根


为什么主
asset
twig函数不在app_dev.php前面添加一个路径?

{{asset}}
函数只添加到项目的assets文件夹中。您的资产似乎位于捆绑包的目录中,因此它们不是公共的,无法访问

{%stylesheets%}
{%javascripts%}
实际上从捆绑包中获取资产文件,应用过滤器(如果存在)(压缩等),并通过控制器根据请求提供服务

您可以使用命令行API
php-app/console-assetic:dump
转储资产文件


BootstrapBundle使用
config.yml
配置资产。您需要使用
php-app/console-assetic:dump
转储资产以生成CSS文件

如果要在细枝模板中配置样式表,应使用
样式表
(如Dovydas Bartkevičius所述)如果您想在
config.yml
中配置样式表,则必须使用
php应用程序/控制台assetic:dump
生成静态CSS,并使用
assets
将静态文件包含在模板中


BootstrapBundle使用
config.yml
配置资产,因此您必须转储资产。在开发过程中,您还可以使用
php应用程序/控制台assetic:dump——在每次源代码更改时观察
生成CSS。

如果您将绝对路径传递给
资产
函数,那么它将返回参数,而不进行任何更改。

谢谢,这非常有用。