【问题标题】:Symfony files which are included in CSS are not found when using assetic使用资产时找不到包含在 CSS 中的 Symfony 文件
【发布时间】:2015-06-16 19:43:26
【问题描述】:

我将 Symfony 与 Twig 一起使用,并且我使用资产。问题是我的 CSS 文件包含其他类似的 CSS 文件:

@import url(ie8.css);
@import url(blocks.css);
@import url(plugins.css);
@import url(app.css);

并且在显示网页时找不到这些文件。 字体和图像也是如此。我该如何解决?

我不得不提一下,我是这样加载 css 文件的:

        {% stylesheets
        '@BaseBundle/Resources/public/plugins/bootstrap/css/bootstrap.min.css'
        '@BaseBundle/Resources/public/css/style.css'
        filter='cssrewrite'
        %}
        <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}

【问题讨论】:

    标签: css symfony twig assetic


    【解决方案1】:

    来自Symfony docsthis section as well

    请注意,在包含 JavaScript 文件的原始示例中,您使用 @AppBundle/Resources/public/file.js 之类的路径引用文件,但在此示例中,您使用其实际可公开访问的路径引用 CSS 文件:@987654324 @。您可以使用其中任何一种,除非有一个已知问题会导致在对 CSS 样式表使用 @AppBundle 语法时导致 cssrewrite 过滤器失败。

    使用cssrewrite 过滤器时,不要使用@AppBundle 语法引用您的CSS 文件。有关详细信息,请参阅上一节中的注释。

    cssrewrite 过滤器至关重要,因为它将重写您在样式表中定义的那些 url() CSS 路径。通过使用@AppBundle 语法,这种情况不再发生。你需要像这样加载 CSS 文件:

    {% stylesheets
        'bundles/base/css/bootstrap.min.css'
        'bundles/base/css/style.css'
        filter='cssrewrite'
    %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}
    

    请注意,路径可能不是 100% 正确(这取决于您的捆绑包名称)。您应该通过执行php app/console assets:install 仔细检查并查看您的web/ 文件夹。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-06
      • 1970-01-01
      相关资源
      最近更新 更多