【发布时间】:2014-06-06 04:57:09
【问题描述】:
编辑:我似乎找到了一个第三方捆绑包,经过一些配置,似乎可以完成我正在寻找的东西:AlexAsseticExtraBundle。目前唯一的缺点是它不执行任何类型的缓存清除。但是,添加该功能就像分叉/修补并将所需的依赖项添加到 composer 一样简单。
我仍然欢迎任何官方/建议的方法来实现这一点,但现在这似乎工作得很好,我很乐意在生产中使用它。
我最近一直在深入研究 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'。这工作正常。
但是,我的强迫症开始了,我正试图找出一种方法,让 CSS 文件中引用的所有图像也与我的 CSS/JS 和任何使用来自 Twig 模板的资产。我的理由很简单,是为了让将来更容易将这些资产转移到 CDN 上,而不必从多个来源中提取它们,以及在部署之前将非标准文件保留在 web/ 之外。
在我开始想出一些非常骇人听闻的方法来实现这一点之前,有没有什么简单的方法可以让 CSS 文件中引用的图像同时使用assetic:dump 处理?
【问题讨论】:
标签: css symfony twig assets assetic