Symfony 2.7 + Sass + Assetic:使用 app_dev.php 时样式不是 applied/visible

Symfony 2.7 + Sass + Assetic: Styles not applied/visible when using app_dev.php

我想在我的 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 %}

non-dev 模式下使用 Symfony 时效果很好:

php app/console assetic:dump --env=prod --no-debug

文件 web/css/header.css 已创建,一切正常。但是,当使用 app_dev.php 前端控制器时,不会应用 header.scss 中的任何样式。仅呈现直接链接(不使用 Assetic)的其他文件的样式。

这很奇怪,因为当我检查 generated/loaded HTML 文件时,样式 sheet 似乎被正确包含:

<link rel="stylesheet" href="/app_dev.php/css/header_header_1.css" />

直接调用 /app_dev.php/css/header_header_1.css 显示样式 sheet 及其所有样式。

所以所有的风格看起来都很到位。一切都应该如此。除了没有呈现任何样式。

你知道如何解决这个问题吗?

我设法解决了问题:css 文件是用 Content-Type: text/html 而不是 text/css. 传输的 这是由 format_listener 的 [=12] 设置引起的=].添加 css 到接受规则解决了这个问题。 css 文件现在作为 text/css 传输,一切正常。