我想在我的Symfony 2.7 WebApp中使用基于 Sass
的样式 . 到目前为止,我已经使用 Compass
将Sass文件(不在 web/
目录中,但在Bundles中)编译为CSS文件 . 这工作正常,但在新服务器上Ruby不可用,因此Compass不再是一个选项 .
在Symfony Docu之后,我将leafo / scssphp添加到项目中并在配置文件中激活:
# app/config/config.yml
assetic:
filters:
scssphp:
formatter: 'Leafo\ScssPhp\Formatter\Compressed'
# ...
Twig
模板中的Sass文件:
{% stylesheets
'MyMainBundle/Resources/styles/sass/header.scss'
filter="scssphp"
output="css/header.css" %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}
当使用调试前端控制器 app_dev.php
页面刷新显示 header.css
正确链接时, but the linked file is empty .
header.scss
包含 pure Sass (无指南针功能),路径正确且 no error is displayed . 那么,为什么 header.css
是空的?
转储资产而不是使用 app_dev.php
也无法解决问题 . 控制台显示转储期间创建的所有资产,但不显示 header.css
的任何信号
php app/console assetic:dump --env=prod --no-debug
我尝试了不同的其他可能性来指定 header.scss
的路径,但结果始终相同 . 仅使用@Bundle表示法会导致NotFoundException .
{% stylesheets
'@MyMainBundle/Resources/sass/header.scss'
...
如果Sass文件位于包目录内或 web/
文件夹内(如Symfony文档中所述),则没有任何区别 .
So: How to integrate the Sass file directly into Symfony by using Assetic?
1 回答
我解决了这个问题 . 也许该解决方案对其他人也有用:
我的AsseticBundle / Assetic版本已经过时 . 更新到最新版本后一切正常 .