我想添加fontawesome到我的nextjs 13项目。我正在尝试实施解决方案#3,这是很久以前提出的。我也在fontawesome文档中尝试过这个解决方案。我刚开始使用nextjs,一开始我遵循文档,但产生了Module not found
错误。然后,我尝试修改这些解决方案,以适应版本13中的新更改。作为参考,我的项目使用/src/app/pages.tsx
文件结构。我尝试添加/src/app/_app.tsx
,内容如下:
import { config, library } from '@fortawesome/fontawesome-svg-core';
import { fas } from '@fortawesome/free-solid-svg-icons';
import '@fortawesome/fontawesome-svg-core/styles.css';
config.autoAddCss = false;
library.add(fas);
在我的/src/app/page.tsx
中,我添加了import并尝试使用fontawesome:
import Image from 'next/image'
import Link from "next/link";
import cardStyles from './styles/card.module.css'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
export default function Home() {
return (
<main className="flex min-h-screen flex-col items-center justify-between p-24">
<FontAwesomeIcon icon={['fab', 'linkedin']} />LinkedIn
</main>
)
}
我总是得到同样的错误:
./src/app/page.tsx:4:0
Module not found: Can't resolve '@fortawesome/react-fontawesome'
2 | import Link from "next/link";
3 | import cardStyles from './styles/card.module.css'
> 4 | import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
5 |
6 |
7 | export default function Home() {
我在package.json中有这个包,并安装在node_modules中:
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.4.0",
"@fortawesome/free-brands-svg-icons": "^6.4.0",
"@fortawesome/free-solid-svg-icons": "^6.4.0",
"@fortawesome/react-fontawesome": "^0.2.0",
我甚至重新安装了它以确保。我不知道如何解决此错误。这可能是因为pages.tsx是SSR而不是在客户端完成的吗?
3条答案
按热度按时间aelbi1ox1#
单位:
RootLayout
然后在
Home
页工作证明:
@fortawesome/free-solid-svg-icons
中不存在Linkedin图标。使用LinkedIn然后在主页
zmeyuzjn2#
我也遇到过类似的问题,最后还是使用了ReactIcons。
ReactIcons由Font Awesome Icons沿着其他非常有用的图标组成。请参考这一点,并验证这些是否适合您的需要。https://react-icons.github.io/react-icons/
00jrzges3#
所以我建议你复制fontawesome工具包并粘贴到你的index.html中,然后你就可以使用所有的fontawesome图标了。