0

我正在研究 Symfony 3.4 和 Assetic。假设我的网站是 www.mycompany.com,我正在使用 2 种特定类型的资产:

  • 通过 @Import() 在我的主 CSS 文件中使用 Google 网络字体
  • 自定义 CSS 字体,字体文件手动上传到 web/fonts/

当我以开发模式访问我的网站 www.mycompany.com/app_dev.php/ 时:

  • 谷歌字体加载良好且工作正常。
  • 字体真棒不起作用(因为 app_dev.php/fonts/ 是 404)

当我以产品模式访问我的网站 www.mycompany.com/ 时:

  • 谷歌字体不起作用(@import 似乎没有加载...)
  • 字体很棒(因为 css 文件可以在 www.mycompany.com/fonts/ 中找到)

为什么会有这种行为?供您参考,我以这种方式使用 Assetic 加载 myu 资产:

{% stylesheets '@PimInterfaceBundle/Resources/public/css/*' %}
<link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

// Same for JS

谢谢。

4

1 回答 1

0

使用 cssrewrite 过滤器时,不要使用@XxBundle语法引用您的 CSS 文件。

尝试这个

{% stylesheets 'bundles/piminterface/css/*' filter='cssrewrite' %}
    <link rel="stylesheet" href="{{ asset_url }}" />
{% endstylesheets %}

这是文档

  1. 包括 CSS 样式表

  2. 使用 cssrewrite 过滤器修复 CSS 路径

  3. 在 prod 环境中转储资产文件

如果这对您不起作用,请尝试php bin/console asset:install

在产品php bin/console assetic:dump --env=prod --no-debug `

于 2018-01-10T15:27:57.557 回答