0

我尝试在 Ubuntu 12.04 上使用 compass 和 Assetic 配置我的 Symfony2 项目(放弃在 Windows XP 上使用 compass 和 Assetic 运行这个项目)。

我配置了 compass,当我在开发环境中启动我的项目时它工作正常,尽管在 prod 我从 compass 过滤器到我的 css 输出文件的asset_url 路径错误。

这是我的 config.yml 资产部分:

# Assetic Configuration
assetic:
debug:          %kernel.debug%
use_controller: false
#bundles:        [ ]
#java: /usr/bin/java
filters:
    cssrewrite: ~
    sass: 
      bin: /usr/local/bin/sass
      apply_to: "\.scss$"
      #bin: C:/Ruby200/bin/sass this is for Windows not working though
    compass: 
        images_dir: %kernel.root_dir%/../web/images
        http_path:  /images
        #bin: C:/Ruby200/bin/compass.bat this is for Windows not working though
        bin: /usr/local/bin/compass
    closure:
        jar: %kernel.root_dir%/Resources/java/compiler.jar
    yui_css:
        jar: %kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar

我在app/Resources/views/base.html.twig中包含资产过滤器

 {% stylesheets filter="compass" "@PortalSlubnyMainBundle/Resources/public/css/settings.scss"%}
 <link rel="stylesheet" href="{{ asset_url }}" />
 {% endstylesheets %}
 <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" />

当我通过 app_dev.php 运行我的项目时,我得到了格式正确的asset_url

看起来像这样:/app_dev.php/css/6262784_settings_1.css

在 prod 环境中,我得到了这样的错误网址:/css/6262784.css(404 未找到错误)

我清除了 prod 和 dev 的缓存,但没有任何改变。

4

1 回答 1

1

在开发环境中,默认控制器使用资产。所以你的产品和开发环境的网址很好。

要生成您需要运行的资产文件app/console assetic:dump,这些文件将在 prod 环境中使用。

于 2013-06-30T11:10:09.897 回答