使用sass指南针在symfony捆绑中使用Assetic并在scss文件中导入图像

时间:2015-01-13 22:58:14

标签: symfony sass background-image assetic compass

我很高兴在开发模式下使用sass和指南针是多么容易,并且在传递到制作时在单个文件中生成css。

但是和网上很多人一样,我仍有一个问题。在scss文件中导入图像,如

#somedomid {
   background:url('../images/test.jpg');
}

我阅读了所有问题,所有答案,我还阅读了一些非常好的教程,但我开始意识到只有解决方法,没有人有适当的解决方案:

  • 使用symfony包(我可以将包作为它并将其导入另一个项目 - >共享文件夹中没有文件)
  • 将资产包与路径
  • 一起使用
  • 在css中导入图像
  • 在开发和生产模式下具有相同的行为。

目前我使用以下文件:

config.yml

# Assetic Configuration
assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        [MyBundle]
    ruby:           %ruby.bin%
    write_to:       %kernel.root_dir%/../web/
    ...
    filters:
        cssrewrite: ~
        sass:
            bin:    %sass.bin%
        compass:
            bin:    %compass.bin%
    ...

这样的树枝:

{% stylesheets filter='compass' output='css/main.css'
    '@MyBundle/Resources/assets/sass/*.scss' %}
    <link rel="stylesheet" href="{{ asset_url }}"/>
{% endstylesheets %}

当我向app_dev.php询问页面时,正确生成并调用了css 当我在服务器上部署时,我做了一个资产:dump并且css完全生成并且也被调用。

但即使我使用cssrewrite过滤器,也无法获取图像,我总是得到404:

app_dev.php/images/test.jpg

/Resources/assets/images/test.jpg (with cssrewrite)

在哪里可以将此图片放入我的套装中,以便在执行时将其移动到正确的文件夹?

很抱歉这篇长篇文章,请不要给我另一个解决方法,我正在寻找合适的解决方案。

0 个答案:

没有答案