reactjs - React-fontawesome 导入所有图标

标签 reactjs font-awesome font-awesome-5

我正在尝试仅导入我需要的精美图标,因为完整的库有 3mb。我已切换到 fontawesome-react 组件来启用此功能,但我运气不佳。

这是我的测试用例:

包装内含:

"@fortawesome/fontawesome-svg-core": "^1.2.4",
"@fortawesome/pro-regular-svg-icons": "^5.3.1",
"@fortawesome/react-fontawesome": "^0.1.3",

组件:

import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faThumbsUp } from '@fortawesome/pro-regular-svg-icons';

// In Render:
<FontAwesomeIcon
    icon={ faThumbsUp }
/>

结果包含大小为 1MB 这是预期的行为吗?

它似乎遵循显式导入方法 - https://github.com/FortAwesome/react-fontawesome#user-content-explicit-import

Visualizer Result

最佳答案

如果您想通过新的 Fontawesome React 库以最简单的配置使用任何您想要的图标,您可以这样做:

import { library } from '@fortawesome/fontawesome-svg-core';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import * as Icons from '@fortawesome/free-solid-svg-icons';

const iconList = Object
  .keys(Icons)
  .filter(key => key !== "fas" && key !== "prefix" )
  .map(icon => Icons[icon])

library.add(...iconList)

(提示:这里使用 (...iconList) 将我们以数组形式添加的每个对象作为函数参数)

然后将其添加到您想要的代码中

<FontAwesomeIcon icon="check" />

现在您可以使用所有图标,而无需全部导入 🤙

关于reactjs - React-fontawesome 导入所有图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52625741/

相关文章:

javascript - 使用 React 切换 Font Awesome 5 图标

css - FontAwesome 5 的 Instagram SVG 上的渐变

javascript - 如何映射对象的键以使 JSON 在 React 中更易于处理

css - 静态旋转 Font Awesome 图标

javascript - 将 React 路由组织成单独的组件

javascript - anchor html (<a>) 仅适用于右键单击而不是左键单击

css - Font Awesome 5 - 为什么不显示比特币、facebook、twitter 等图标?

reactjs - 将 Font Awesome Pro 添加到 React 应用程序 - 入门

ios - 无法通过 React Native 关闭呈现的 View Controller

javascript - React native - 下拉列表中的 z-index 不起作用