加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reactjs – 为React App添加Font Awesome Pro – 入门

发布时间:2020-12-15 20:30:49 所属栏目:百科 来源:网络整理
导读:我正在尝试将Fontawesome pro添加到我的反应应用中. 我在Font Awesome的入门标签上尝试了几乎所有的选项 – 所有产生的都是免费品牌.所以 – 现在我已经进行了大量尝试,并且目前仍然遵循此post中clodal提出的指示 我有一个包含以下依赖项的package.json: "@
我正在尝试将Fontawesome pro添加到我的反应应用中.

我在Font Awesome的入门标签上尝试了几乎所有的选项 – 所有产生的都是免费品牌.所以 – 现在我已经进行了大量尝试,并且目前仍然遵循此post中clodal提出的指示

我有一个包含以下依赖项的package.json:

"@fortawesome/fontawesome-svg-core": "^1.2.8","@fortawesome/pro-light-svg-icons": "^5.5.0","@fortawesome/free-solid-svg-icons": "^5.5.0","@fortawesome/pro-regular-svg-icons": "^5.5.0","@fortawesome/pro-solid-svg-icons": "^5.5.0","@fortawesome/react-fontawesome": "^0.1.3",

我已经看过这个post并注意到其他人正在努力弄清楚如何开始使用字体真棒.

我已将全局配置身份验证令牌添加到我的应用程序.

我已阅读升级说明here.

目前 – 我收到的错误是:

Error: Can't resolve '@fortawesome/pro-brands-svg-icons' in '/Users/18/src/routes/How/components/HowPage'

在那个页面中,我有:

import React from 'react'
    import PropTypes from 'prop-types'
    import classes from './HowPage.scss'

    import GridContainer from "components/Grid/GridContainer.jsx";
    import GridItem from "components/Grid/GridItem.jsx";
    import Clearfix from "components/Clearfix/Clearfix.jsx";
     import { library } from '@fortawesome/fontawesome-svg-core'
import { fas } from '@fortawesome/pro-solid-svg-icons'
import { faTwitter } from '@fortawesome/pro-brands-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'

    export const HowPage = ({ how }) => (
      <div className={classes.container}>
        <h1 style={headstyle}>How it Works</h1>
          <GridContainer justify="center">
             <GridItem
                xs={12}
                sm={8}
                md={8}
                className={`${classes.mlAuto} ${classes.mrAuto} ${
                  classes.textCenter
                }`}
            >
            <span>
      <i className="fas fa-layer-plus"></i>
    </span>
            <i className="fal fa-stroopwafel"></i>  
            <FontAwesomeIcon icon="coffee" />
            <i className="fab fa-twitter" />

            </GridItem>
          </GridContainer>

        <pre>{JSON.stringify(how,null,2)}</pre>
      </div>
    )

    HowPage.propTypes = {
      how: PropTypes.object // from enhancer (firestoreConnect + connect)
    }

    export default HowPage

在我的index.html中,我有:

<link href="https://use.fontawesome.com/releases/v5.0.10/css/all.css" rel="stylesheet">

我已经尝试将这些import语句添加到我试图使用字体的页面(我无法理解库构建说明).

这会产生错误(预计,在下一期问题上):

我不知道在哪里添加以下库添加调用:

library.add(fas,faTwitter)

我的应用程序通过main.js初始化.该页面包含:

import React from 'react'
import ReactDOM from 'react-dom'
import createStore from './store/createStore'
import { initScripts } from 'utils'
import { version } from '../package.json'
import { env } from './config'
import './styles/core.scss'
// import { library } from '@fortawesome/fontawesome-svg-core'
// import { fal } from '@fortawesome/pro-light-svg-icons'


// Window Variables
// ------------------------------------
window.version = version
window.env = env
initScripts()

// Store Initialization
// ------------------------------------
const initialState = window.___INITIAL_STATE__ || {
  firebase: { authError: null }
}
const store = createStore(initialState)

// Render Setup
// ------------------------------------
const MOUNT_NODE = document.getElementById('root')

let render = () => {
  const App = require('./containers/App').default
  const routes = require('./routes/index').default(store)

  ReactDOM.render(<App store={store} routes={routes} />,MOUNT_NODE)
}

// Development Tools
// ------------------------------------
if (__DEV__) {
  if (module.hot) {
    const renderApp = render
    const renderError = error => {
      const RedBox = require('redbox-react').default

      ReactDOM.render(<RedBox error={error} />,MOUNT_NODE)
    }

    render = () => {
      try {
        renderApp()
      } catch (e) {
        console.error(e) // eslint-disable-line no-console
        renderError(e)
      }
    }

    // Setup hot module replacement
    module.hot.accept(['./containers/App','./routes/index'],() =>
      setImmediate(() => {
        ReactDOM.unmountComponentAtNode(MOUNT_NODE)
        render()
      })
    )
  }
}

// Let's Go!
// ------------------------------------
if (!__TEST__) render()

我认为说明书要我写那个库添加调用 – 但我无法理解如何去做.

我已经看过这个post – 这个用户已经找到了如何将代码添加到app.js文件中.我想我坚持这一步.我的app.js在main.js中 – 我不知道在哪里放置库调用,我不知道这个例子是否意味着用户只能访问该帖子中命名的2个图标(faSpinnerThird,faCircle) ).

我正在使用Material-UI – 并且可以看到它考虑使用字体真棒图标.我只是无法弄清楚如何设置它.

PS:GitHub支持页面上的contributing guidelines要求用react-fontawesome标记问题.这个参考没有标签 – 我没有足够的积分来创建一个 – 也许有人可以解决这个问题.

解决方法

对于在React中与FA挣扎的其他人 – 库尔德工人党在这篇文章中的回答帮助了我 How to integrate FontAwesome 5 Pro with React?

但是,它似乎不适用于2个字的图标名称.但是 – 至少它适用于许多图标.我一直认为FA是即插即用 – 这已经花了很多时间来确定如何让它发挥作用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读