代码之家  ›  专栏  ›  技术社区  ›  nowox

2020年如何在Vue项目中正确使用FontAwesome?

  •  0
  • nowox  · 技术社区  · 4 年前

    我想在Vue 2.5项目中使用一些FontAwesome字体(与Laravel一起运行)。根据手册,如果我不想使用CDN并使我的应用程序脱机运行,最好的方法是将其添加到我的 app.js :

    import { library } from '@fortawesome/fontawesome-svg-core'
    import { faUserSecret } from '@fortawesome/free-solid-svg-icons'
    import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
    
    library.add(faUserSecret)
    
    Vue.component('font-awesome-icon', FontAwesomeIcon)
    

    然后在我的Vue组件中( .vue )我必须使用这个:

    <font-awesome-icon icon="user-secret" />
    

    因此,每次我想使用新图标时,我都必须:

    1. 首选 https://fontawesome.com/icons

    2. 检查 free 按钮

    3. 搜索图标

    4. 转到细节

    5. 复制链接,即。 <i class="far fa-eye"></i>

    6. 转到我的 app.js (或者在我的情况下,我的 fontawesome.js )并添加:

      import { faUserSecret, faEye } from '@fortawesome/free-solid-svg-icons'
      
      library.add(faUserSecret)
      library.add(faEye)
      
    7. 转到我的Vue组件并添加 <font-awesome-icon icon="eye" /> 无论我想去哪里

    这个过程是最佳和最小的吗?

    0 回复  |  直到 4 年前
        1
  •  6
  •   Kapcash    4 年前

    对。我承认这是一个繁重的过程,但它对性能有好处。

    一切都解释在 library's readme :

    为什么要使用图书馆的概念?
    显式选择图标的优点是只捆绑您在最终捆绑文件中使用的图标。这使我们能够将Font Awesome的数千个图标子集为通常使用的少量图标。

    如果你不介意有一个包含未使用图标的捆绑包,你可以按原样导入所有内容:

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

    花点时间阅读整个自述文件,我知道它很长,但值得一读!