【问题标题】:How to fix 'library is not defined' error in my react app如何修复我的反应应用程序中的“未定义库”错误
【发布时间】:2019-04-27 06:00:23
【问题描述】:

在我的反应应用程序中,我收到“库”未定义 no-undef 错误。我正在尝试在我的应用程序中添加很棒的字体。我为此写了一些代码:

错误:

编译失败

./src/sections/header/header.js

第 11 行:“库”未定义 no-undef

搜索关键字以了解有关每个错误的更多信息。

header.js 代码

 import React, { Component } from "react";
 import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";

 import {
   faGoogle,
   faFacebook,
   faTwitter,
   fainstagram
 } from '@fortawesome/free-brands-svg-icons';

 library.add(
   faGoogle,
   faFacebook,
   faTwitter,
   fainstagram
 );
 class Header extends Component {
   render() {
    return (

   <div className="social-icons">
     <ul>
        <li><a href="javascript:void(0)" className="facebook"><FontAwesomeIcon icon="fafacebook" /></a></li>
        <li><a href="javascript:void(0)" className="twitter"><FontAwesomeIcon icon="fatwitter" /></a></li>
       <li><a href="javascript:void(0)" className="instagram"><FontAwesomeIcon icon="fainstagram" /></a></li>
      </ul>
    </div>
   )
  }
 }

App.js 代码

 import React from 'react';
 import logo from './logo.svg';
 import './App.css';
 import bootstrap from 'reactstrap';

 import { library } from '@fortawesome/fontawesome-svg-core'
 import { fab } from '@fortawesome/free-brands-svg-icons' 
 library.add(fab);

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    您可以添加库导入,因为其他组件无法全局访问导入

    import React, { Component } from "react";
    import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
    import { library } from '@fortawesome/fontawesome-svg-core'
     import {
       faGoogle,
       faFacebook,
       faTwitter,
       fainstagram
     } from '@fortawesome/free-brands-svg-icons';
    
     library.add(
       faGoogle,
       faFacebook,
       faTwitter,
       fainstagram
     );
     class Header extends Component {
       render() {
        return (
    
       <div className="social-icons">
         <ul>
            <li><a href="javascript:void(0)" className="facebook"><FontAwesomeIcon icon="fafacebook" /></a></li>
            <li><a href="javascript:void(0)" className="twitter"><FontAwesomeIcon icon="fatwitter" /></a></li>
           <li><a href="javascript:void(0)" className="instagram"><FontAwesomeIcon icon="fainstagram" /></a></li>
          </ul>
        </div>
       )
      }
     }
    

    【讨论】:

    • 我已按照您的指导添加了库。我发现了新错误:./src/App.js Module not found: Can't resolve '@fortawesome/free-brands-svg-icons'
    • '@fortawesome/free-brands-svg-icons' 你能验证这个节点模块安装正确吗
    • 我尝试重新安装 fontawesome 模块。但是我发现了这个错误:@typescript-eslint/eslint-plugin@1.6.0 requires a peer of typescript@* but none is installed。您必须自己安装对等依赖项。 npm WARN @typescript-eslint/parser@1.6.0 需要 typescript@* 的对等点,但没有安装。您必须自己安装对等依赖项。
    • 你有全局安装 typescript 吗?
    • 谢谢。 Fontawesome 适用于 fas 图标。但仍然没有渲染 fab 和 far 图标
    猜你喜欢
    • 2019-08-17
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    相关资源
    最近更新 更多