【发布时间】:2018-09-21 17:33:30
【问题描述】:
【问题讨论】:
标签: reactjs font-awesome
【问题讨论】:
标签: reactjs font-awesome
关闭 autoAddCss:
import { library, config } from '@fortawesome/fontawesome-svg-core'
config.autoAddCss = false
直接在SCSS文件中加载CSS:
@import 'node_modules/@fortawesome/fontawesome-svg-core/styles'
【讨论】:
请看这篇文章:
https://fontawesome.com/how-to-use/on-the-web/other-topics/server-side-rendering
您需要在布局或全局配置中对此做出反应:
import { library, config, dom } from '@fortawesome/fontawesome-svg-core'
config.autoAddCss = false
...
按照你的风格写:
<style jsx global>{`
...
@import url('https://fonts.googleapis.com/css?family=Didact+Gothic');
${dom.css()}
...
`}</style>
【讨论】:
正如您所猜测的,这是页面最初呈现后 CSS 加载的问题。我找到的解决方案是确保服务器上的 CSS 与图标呈现在同一页面上(取决于您用于管理样式表的框架),或者确保您使用的任何 .css 文件这在 html 呈现之前被加载。这可以通过确保样式表的链接标记出现在页面顶部附近来完成。
【讨论】:
node_modules/@fortawesome/fontawesome/styles.css复制到我的公共文件夹(重命名为fontawesome.css)并在我的html <link rel="stylesheet" href="%PUBLIC_URL%/css/fontawesome.css">第二部分中使用,我添加fontawesome.config.autoAddCss = false;不添加相同的css从客户端渲染到头部。