Symfony 2.7 + Sass + Assetic 不创建任何样式或文件
Symfony 2.7 + Sass + Assetic does not create any styles or files
我想在我的 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
是正确的 link, 但是 linked 文件是空的。
header.scss
包含纯Sass(没有罗盘功能),路径正确,没有显示错误。那么,为什么 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 文档中所述),这没有任何区别。
那么:如何使用Assetic将Sass文件直接集成到Symfony中呢?
我解决了这个问题。也许该解决方案对其他人也有用:
我的 AsseticBundle / Assetic 版本已过时。更新到最新版本后一切正常
我想在我的 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
是正确的 link, 但是 linked 文件是空的。
header.scss
包含纯Sass(没有罗盘功能),路径正确,没有显示错误。那么,为什么 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 文档中所述),这没有任何区别。
那么:如何使用Assetic将Sass文件直接集成到Symfony中呢?
我解决了这个问题。也许该解决方案对其他人也有用:
我的 AsseticBundle / Assetic 版本已过时。更新到最新版本后一切正常