编辑:我似乎找到了第三方软件包,通过一些配置,似乎可以实现我的目标:AlexAsseticExtraBundle。目前唯一的缺点是它没有做任何类型的缓存破坏。但是,添加该功能就像分叉/修补以及将所需的依赖项添加到编写器一样简单。
我仍然欢迎任何官方/建议的方法来实现这一点,但是现在这似乎运作得很好,我很乐意在生产中使用它。
我最近潜入Symfony2并让自己的项目变得更熟悉框架。这是我的设置:
<!-- base.html.twig -->
<head>
<title>Page</title>
{% block stylesheets %}
{% stylesheets 'bundles/website/less/*.less' output='assets/css/output.css' filter='lessphp,?cssrewrite' %}
<link rel="stylesheet" href="{{ asset_url }}">
{% endstylesheets %}
{% endblock %}
</head>
LESS文件内部:
/* main.less */
body {
background: url('../images/bg.jpg');
}
我已经运行php app/console assets:install web --symlinks
和php app/console assetic:dump
,在使用cssrewrite过滤器的情况下,生成CSS文件并将图像的路径设置为'../../bundles/website/images/bg.jpg'
。这很好用。
然而,我的OCD正在努力,我试图想办法让CSS文件中引用的所有图像也作为我的CSS / JS存在于web/
中的同一资产目录中以及使用Twig模板中的资产的任何图像。我的理由很简单,将来将这些资产转移到CDN上更加容易,而不必从多个来源中提取它们,以及在部署之前将非标准文件保留在web/
之外。< / p>
在我离开并提出一些非常糟糕的方法来实现这一目标之前,是否有任何简单的方法来获取带有资产的CSS文件内部引用的图像?还有资产:dump?
答案 0 :(得分:0)
我似乎找到了第三方软件包,通过一些配置,似乎可以实现我的目标:AlexAsseticExtraBundle。目前唯一的缺点是它没有做任何类型的缓存破坏。但是,添加该功能就像分叉/修补以及将所需的依赖项添加到编写器一样简单。
我仍然欢迎任何官方/建议的方法来实现这一点,但是现在这似乎运作得很好,我很乐意在生产中使用它。