【发布时间】:2018-05-22 13:22:38
【问题描述】:
我正在尝试通过 webpack 仅捆绑所需的 Font Awesome 5 图标,但图标不会在 DOM 中替换。
-
我已经从documentation添加了所有必需的包:
yarn add -D @fortawesome/fontawesome yarn add -D @fortawesome/fontawesome-pro-solid yarn add -D @fortawesome/fontawesome-pro-regular yarn add -D @fortawesome/fontawesome-free-brands -
包含以下自定义JS:
"use strict"; import fontawesome from '@fortawesome/fontawesome'; import faCheck from '@fortawesome/fontawesome-pro-regular/faCheck'; fontawesome.icon(faCheck); function iconsDoneRendering () { console.log('Icons have rendered'); // No output in console } fontawesome.dom.i2svg({ callback: iconsDoneRendering, }) -
HTML 模板:
<head> <link rel="stylesheet" href="/css/app.css?v2.1.4"> <!-- contains fa-svg-with-js.css --> </head> <body> <ul class="fa-ul"> <li><span class="fa-li"><i class="far fa-phone"></i></span>List item 1</li> <li><span class="fa-li"><i class="far fa-check"></i></span>List item 2</li> </ul> <script src="/js/app.js?v2.1.4"></script> </body>
svg 路径在捆绑的 JS 文件中,但我不知道需要调用哪个方法。
以下JS代码解决问题(v5.0.2起):
"use strict";
import fontawesome from '@fortawesome/fontawesome';
import faCheck from '@fortawesome/fontawesome-pro-regular/faCheck';
import faPhone from '@fortawesome/fontawesome-pro-regular/faPhone';
fontawesome.library.add(faCheck,faPhone);
【问题讨论】:
-
我也遇到了同样的问题,你解决了吗?
-
您是否像我一样看到将 CSS 添加到文档头部?
-
我看起来目前不可能:“我们需要进行一些更改以支持您所拥有的内容。目前这是我们的首要任务。”
-
我看到您更新了问题以包含答案(有点令人困惑,但还可以)。对于其他想知道为什么这不能替换他们的图标的人,也许您在将它们添加到库后还没有包含
fontawesome.dom.i2svg()。那是我缺少的步骤,没有很好地记录。 -
感谢您的反馈 - 我已恢复原始问题并添加了解决方案。在我的情况下,替换工作无需 i2svg 调用。
标签: npm webpack font-awesome font-awesome-5