我的 Rails 6 应用程序在生产模式下遇到了一个非常奇怪的问题。我在没有为 webpacker 做任何更改的情况下部署了一个新版本,突然我的 Font Awesome 5 图标不再加载了。我尝试了我能想到的一切,但没有任何效果。 在开发中,我的图标加载没有问题,没有显示错误。 然后,如果我使用 Capistrano 部署我的应用程序,一切正常,但图标不会显示。
# application.scss
$fa-font-path: '~@fortawesome/fontawesome-free/webfonts';
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
@import '~@fortawesome/fontawesome-free/scss/solid';
@import '~@fortawesome/fontawesome-free/scss/regular';
# application.js
import "@fortawesome/fontawesome-free/js/all";
import "@fortawesome/fontawesome-free/css/all";
我不知道几天前一切正常,我的图标显示在开发和生产环境中,突然间,我可以做我想做的事了,它坏了:
我不知道我是怎么得到这个错误的,我在 NGINX 中使用 Phusion Passenger,但没有对配置进行任何更改。我确保 webfonts 存在于正确的文件夹中,但我不断收到此错误。 我不知道为什么应该拒绝连接,似乎存在的其他网络字体可用。
编辑: 我尝试清除我的浏览器缓存,我尝试了 ipconfig/flushdns 并在我的手机等设备上进行了测试,到处都出现了同样的错误。
编辑2: 如果我从 packs director 中删除字体,我会收到以下错误:
Access to font at 'http://localhost:3000/packs/media/webfonts/fa-solid-900-f6121be5.woff2' from origin 'http://webmenue2019.de' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
编辑3: 我在浏览 Chrome 时注意到,这些网络字体是从 localhost:3000 加载的!但是为什么?
最佳答案
我也有同样的问题,我的修复是我删除了 application.scss
中的所有字体 awesome @import
并将其添加到我的 application.js
:
import "@fortawesome/fontawesome-free/js/all";
import "@fortawesome/fontawesome-free/css/all";
关于ruby-on-rails - Rails 6 Font Awesome 5 生产问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59462624/