【问题标题】:Where do I find the object names of icons in the FontAwesome free packages?我在哪里可以找到 FontAwesome 免费包中图标的对象名称?
【发布时间】:2019-10-26 19:47:25
【问题描述】:

FontAwesome 是图标库的集合。在他们的Usage documentation 中,他们写了一个示例,您可以通过从free-solid-svg-icons 包中导入咖啡图标的对象来使用他们的咖啡图标,如下所示:

import ReactDOM from 'react-dom'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faCoffee } from '@fortawesome/free-solid-svg-icons'
 
const element = <FontAwesomeIcon icon={faCoffee} />
 
ReactDOM.render(element, document.body)

查看FontAwesome Coffee Icon documentation,我看不到咖啡图标包含在哪个包中,或者它的对象名称是什么。我们从示例代码中知道它的对象名称是faCoffee,并且它包含在@fortawesome/free-solid-svg-icons 包中,但是other 5,365 icons 中的任何一个呢?

问:我怎样才能找到一个 FontAwesome 图标的 React 对象名称,以及它包含在什么 React 包中?

【问题讨论】:

    标签: reactjs font-awesome-5


    【解决方案1】:

    Font-Awesome 中只有 4 个包:

    Name    | Free | Paid | Prefix | NPM Package (free)                  | NPM package (paid)
    ---------------------------------------------------------------------------------------------------------
    Solid   | Yes  | Yes  | fas    | @fortawesome/free-solid-svg-icons   | @fortawesome/pro-solid-svg-icons
    Regular | Yes  | Yes  | far    | @fortawesome/free-regular-svg-icons | @fortawesome/pro-regular-svg-icons
    Light   | No   | Yes  | fal    |                                     | @fortawesome/pro-light-svg-icons
    Brands  | Yes  | No   | fab    | @fortawesome/free-brands-svg-icons  | 
    

    Search icons page 上,您可以按包过滤它们,这样您就可以知道哪些图标属于哪个包;例如,以下链接给出了icons filtered by Solid package

    话虽如此,从您发布的代码中,您可以从图标列表中扣除添加前缀“fa”的图标的 React 名称; React 中的“咖啡”图标是“faCoffee”。

    从过滤后的链接中,您应该能够找到哪些图标属于哪个包。

    【讨论】:

    • 那么例如文档中的class="fab fa-foo" 转换为React 中的import { faFoo } from '@fortawesome/fontawesome-svg-core'?我们如何确定 所有 图标组件名称的行为方式是这样的,没有例外?
    • 对于这个特定的图标,因为它是 fab(意味着在品牌包中),您应该使用 @fortawesome/free-brands-svg-icons。如果您愿意安装一堆图标,请考虑导入完整的包。使用显式导入旨在用于导入一些代表您已经检查过名称的图标。
    • 完整包的名称是什么?查看official React component documentation,似乎有免费和专业版的solid 和regular,而brands 是完全免费的,light 是专门的。
    • 您必须遵循文档中提到的安装说明: $ npm i --save @fortawesome/fontawesome-svg-core $ npm i --save @fortawesome/free-solid-svg-icons $ npm i --save @fortawesome/react-fontawesome 然后像这样使用它:
    【解决方案2】:

    我更喜欢深入挖掘 Github 中的代码。即这个文件https://github.com/FortAwesome/Font-Awesome/tree/master/js-packages/%40fortawesome/free-regular-svg-icons

    这包括文件名,例如。 faAddressBook.d.ts 作为 TS 声明,但可以很好地指出存在什么,什么不存在。

    【讨论】:

    猜你喜欢
    • 2010-09-21
    • 2011-09-01
    • 2013-12-27
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多