我试图使用react-fontawesome并在我看来与自述文件完全相同的地方实现它:https://github.com/danawoodman/react-fontawesome/blob/master/readme.md
import React from 'react';
import FontAwesome from 'react-fontawesome'
...
export default class ComponentName extends React.Component {
render() {
return (
<div>
<div>
<span>
<FontAwesome
className='super-crazy-colors'
name='rocket'
size='2x'
spin
style={{ textShadow: '0 1px 0 rgba(0, 0, 0, 0.1)' }}
/>
SOME TEXT
</span>
</div>
...
</div>
)
}
}
但是我没有在DOM中看到一个图标。虽然我确实在Chrome开发工具中看到了:
<span style="text-shadow:0 1px 0 rgba(0, 0, 0, 0.1);" aria-hidden="true" class="fa fa-rocket fa-2x fa-spin super-crazy-colors" data-reactid=".0.$/=11.0.0.$/=10.$/=10.$/=10"></span>
我觉得应该是<i>
标签。我尝试将<span>...</span>
更改为{&#34}中的<i>...</i>
;编辑为HTML&#34;在开发工具和图标仍然没有显示。
我的插件中的add-module-exports和webpack.config中的预设中的stage-2。
有人能告诉我,我是否遗漏了什么?除了react-fontawesome之外,我还需要一些其他软件包吗?我是否需要导入标准字体-awesome.css或加载字体真棒CDN?非常感谢任何帮助,谢谢!
答案 0 :(得分:19)
我遇到了同样的问题。阅读他们的Readme.md,你会看到有这样的说明:
注意:此组件不包含任何Font Awesome CSS或字体,因此您需要确保以某种方式包含这些内容,方法是将它们添加到构建过程或链接到CDN versions。
所以最简单的方法是链接到你的html中的fontawesome cdn。
<head>
<meta charset="UTF-8">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-
awesome.min.css" rel="stylesheet" integrity="sha384-
wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN"
crossorigin="anonymous">
</head>
答案 1 :(得分:12)
正如其他答案所提到的,您需要以某种方式在页面中包含图标。查看此处的react-fontawesome
示例:
https://github.com/danawoodman/react-fontawesome/blob/master/examples/index.html
您可以看到开发人员在第5行包含了字体非常棒的CSS。
另外,Font Awesome v5已经发布,您应该考虑转移到它。阅读相关文档: https://www.npmjs.com/package/@fortawesome/react-fontawesome
使用v5:
安装依赖项:
$ npm i --save @fortawesome/fontawesome
$ npm i --save @fortawesome/react-fontawesome
$ npm i --save @fortawesome/fontawesome-free-solid
您的组件可以使用如下图标:
import ReactDOM from 'react-dom';
import FontAwesomeIcon from '@fortawesome/react-fontawesome'
import { faCoffee } from '@fortawesome/fontawesome-free-solid'
const element = (
<FontAwesomeIcon icon={faCoffee} />
)
ReactDOM.render(element, document.body);
您还可以在应用中构建常用图标库,以便于参考。在这里查看工作代码:https://codesandbox.io/s/8y251kv448
有关库函数的更多详细信息,请访问: https://www.npmjs.com/package/@fortawesome/react-fontawesome#build-a-library-to-reference-icons-throughout-your-app-more-conveniently
答案 2 :(得分:5)
运行npm install font-awesome --save
在index.js
或App.js
或YourComponent.js
中,导入缩小的CSS文件。
import 'font-awesome/css/font-awesome.min.css';
答案 3 :(得分:4)
对于React
安装:
$ yarn add @fortawesome/fontawesome-svg-core @fortawesome/free-solid-svg-icons @fortawesome/react-fontawesome
用法:
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)
答案 4 :(得分:2)
正如@Alee指出的那样,Fontaweome字体不包含在包中。你必须自己导入它。
安装npm font-awesome
包。如果您使用npm run npm install font-awesome --save
或使用纱线,则运行yarn add font-awesome
现在您只需要通过撰写font-awesome.less
less
目录下的import 'font-awesome/less/font-awesome.less'
醇>
现在你应该看到你的图标工作了:)
答案 5 :(得分:1)
从包本身导入 fontawesome 样式,无需加载任何外部 css:
import "@fortawesome/fontawesome-svg-core/styles.css"; // import Font Awesome CSS
import { config } from "@fortawesome/fontawesome-svg-core";
config.autoAddCss = false; // Tell Font Awesome to skip adding the CSS automatically since it's being imported above
查看article以获取更多信息
答案 6 :(得分:0)
我怀疑您还没有导入FontAwesome需要的CSS - 从FontAwesome的网站下载缩小的CSS文件并将其导入app.scss文件或您导入其他样式表的任何其他位置。
react-fontawesome库正在帮助您创建类名为“向上箭头”的元素,但如果没有样式表,您的项目将不会知道有与这些类对应的图标。
答案 7 :(得分:0)
我上班的唯一例子实际上是最新的并且没有抛出“无法解决'react'错误:
https://scotch.io/tutorials/using-font-awesome-5-with-react
import React from "react";
import { render } from "react-dom";
// get our fontawesome imports
import { faHome } from "@fortawesome/free-solid-svg-icons";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
// create our App
const App = () => (
<div>
<FontAwesomeIcon icon={faHome} />
</div>
);
// render to #root
render(<App />, document.getElementById("root"));
答案 8 :(得分:0)
复制并粘贴到您的 html ...
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css">
答案 9 :(得分:-1)
尝试添加https://use.fontawesome.com/3bd7769ce1.js'>到您的反应项目中的主index.html。
答案 10 :(得分:-1)
最好一次安装所有内容,然后仅导入所需的图标,
npm i --save @fortawesome/fontawesome-svg-core @fortawesome/free-solid-svg-icons @fortawesome/react-fontawesome @fortawesome/free-brands-svg-icons @fortawesome/free-regular-svg-icons
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faSpinner } from '@fortawesome/free-solid-svg-icons';
请确保从确切的包中导入图标,您可以使用ctrl
+ space
来使用建议功能来确定图标并在导入图标时更改包。