我试着用webpack把font-awesome添加到我的Next.js项目中。我试着按照我在网上找到的各种指令(使用file-loader,url-loader),但是没有一个对我起作用。我暂时放弃了用webpack加载font-awesome,但是我想知道我如何才能完成这个任务。目前,我有一个.scss
文件用来加载font-awesome。
它的内容:
$fa-font-path: "static/fonts";
@import "~font-awesome/scss/font-awesome.scss";
我正在手动将字体从node_modules/font-awesome/fonts
移动到static/fonts
。这非常好用,但我想知道2017年是否有webpack 2的方法可以做到这一点。
8条答案
按热度按时间c90pui9n1#
如果您想看一个关于Next 9的真实示例,请查看https://github.com/UnlyEd/next-right-now
有趣的部分是:
配置:页面/_ app. tsx
您可以通过从正确的存储库导入图标来使用solid/light/etc
用途:组件/导航tsx
虽然上述方法仍然有效,但我现在建议Next.js 10及更高版本将Font-Awesome相关配置拆分到一个不同的文件中,并将该文件导入到
_app.tsx
中,这使代码更易于维护,仅此而已。例如:
tjjdgumg2#
这篇文章中没有一个解决方案是关于如何通过cdn使用font-awesome的,所以,我打算这样做。
有多种方法可以实现这一点,但我通常使用_app.js或_document.js来完成这类任务。
下面是它是如何通过_document. js实现的
这里我只是在下一个应用程序的DOM中添加了一个指向fontawesome的css cdn的链接,该链接将添加到浏览器中呈现的页面中。
要了解更多关于_document.js的信息,请参阅here
一个类似的方法可以通过_app.js,我现在不使用,但如果有人需要它,自由下降的评论,我会为你做。
下面是对custom app or _app.js的简要介绍
omjgkv6w3#
有3种方式:
1:通过将FontAwesome脚本添加到
Head
组件创建
Head
组件,添加脚本,并在Header
组件或Layout
文件中呈现此组件,您将在每个页面中使用此组件。2:在
_document.js
中添加到CDN的链接。可以在
pages
文件夹下创建一个_document.js
来覆盖Next.js中的根html
文件,也可以添加一些其他CDN,但是,最简单的方法是:3:为FontAwesome安装所有必需的
npm
软件包然后在
_app.js
文件的顶部添加以下行:此后,您可以导入并使用其余的FontAwesome图标作为React组件,如下所示:
ccrfmcuu4#
有关与其他工具和框架集成的正式文档,请参见此处。
您将能够执行以下操作:
或
omtl5h9j5#
有几种方法可以做到这一点。第一种是通过next/head创建一个head组件并导入到那里a-请看这里:
另一种方法是创建一个HOC来 Package 您的页面,并使用简单的
import 'font-awesome/css/font-awesome.min.css'
导入到其中或者,你可以用同样的方式把它导入到你的页面中。(我相信这会把它的范围限制在那个特定的页面上。请仔细检查我)
希望这个有用。
9njqaruj6#
1.Yarn添加@fortawesome/不含fortawesome
1.在_应用程序. js中
aelbi1ox7#
"试试这个"
e7arh2l68#
我想使用React 18 Next.js 13和bootstrap 5以及fontAwesome发布一个答案。
有一个错误弹出给我
在控制台中,我收到类似以下内容的错误
我修复了这个问题,方法是使用每个人都使用Next.js的useEffect技巧,使fontAwesomeIcon仅在挂载时呈现
下面是一个示例组件