【发布时间】:2021-06-06 22:01:13
【问题描述】:
已解决 - TLDR;将import '@fortawesome/fontawesome-svg-core/styles.css' 添加到 _app.js / index.js 文件可以解决问题,并且 FontAwesome 可以按预期工作。我的问题是由npx-create-next-app 引起的,默认情况下包括 purgeCSS,这反过来又去掉了 FontAwesome 所需的样式。
我在我的 Next 应用中使用 FontAwesome。我关注了 FA 网站上的 React guide,图标 SVG 正在页面上输出。问题是,features 都不起作用,并且它们没有按预期的字体大小进行缩放。
我不想通过手动定位 SVG 并添加大小等来将其组合在一起,因为它在响应性方面并不理想。即,最好让图标与随附的文本一起缩放,并能够添加“微调器”、“固定宽度”等。
奇怪的是,他们已经开始工作一两次,但后来又中断了,我似乎无法重现。
// package.json
"dependencies": {
"@fortawesome/react-fontawesome": "^0.1.14",
"@fortawesome/fontawesome-svg-core": "^1.2.34",
"@fortawesome/pro-regular-svg-icons": "^5.15.2",
}
// _app.js
import { library } from '@fortawesome/fontawesome-svg-core'
import { faHeart } from '@fortawesome/pro-regular-svg-icons'
library.add( faHeart )
// header.js
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
export default function Header() {
return (
<header>
<FontAwesomeIcon icon={['far', 'heart']} spin />
</header>
)
}
// style.css
header {
font-size: 20px; (does nothing to the icon)
}
svg {
width: 20px; (works, but this shouldn't be required according to FA docs)
}
我也尝试过单独使用(将图标导入单独的组件,而不是利用库函数)达到相同的效果。像这样:
// header.js
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faHeart } from '@fortawesome/pro-regular-svg-icons'
export default function Header() {
return (
<header>
<FontAwesomeIcon icon={faHeart} spin />
</header>
)
}
【问题讨论】:
标签: reactjs next.js font-awesome