尽管我遵循了官方手册页,但在尝试使用 Nuxt font awesome 5 时出现错误

Hil*_*ill 5 javascript nuxt.js

我正在尝试按照下面的官方指南在我的 Nuxt 项目中使用 font awesome 5。 https://www.npmjs.com/package/nuxt-fontawesome

但是,我收到一个奇怪的错误,无法显示我想要的内容。

[Vue 警告]:未知的自定义元素:-您是否正确注册了组件?对于递归组件,请确保提供“名称”选项。

这是我的代码的样子:

//index.vue
<template>
    <fa :icon="fas.faAddressBook"  />
    <fa :icon="faGithub" />
</template>
<script>
    import { fas } from '@fortawesome/free-solid-svg-icons'
    import { faGithub } from '@fortawesome/free-brands-svg-icons'
    computed: {
      fas () {
        return fas
      },
      faGithub () {
        return faGithub
      }
    },
and more.....


//nuxt.config.js
  modules: [
    [
      'bootstrap-vue/nuxt', { css: true },
      ['nuxt-fontawesome', {
        component: 'fa',

        imports: [
          //import whole set
          {
            set: '@fortawesome/free-solid-svg-icons',
            icons: ['fas']
          },
        ]
      }]
    ],
  ],
  fontawesome: {
    component: 'fa',
    imports: [
      {
        set: '@fortawesome/free-solid-svg-icons',
        icons: ['fas']
      },
    ],
  },
Run Code Online (Sandbox Code Playgroud)

请让我寻求您的帮助。我已经在这个问题上花费了足够长的时间。先感谢您!

And*_*325 10

好的,我有一个类似的问题,发现 vue-fontawesome 插件可以工作,尽管 nuxt-fontawesome 插件没有。所以,我的步骤:

npm install --save @fortawesome/vue-fontawesome @fortawesome/fontawesome-svg-core @fortawesome/free-solid-svg-icons @fortawesome/free-brands-svg-icons

在 plugins 文件夹中创建一个 fontawesome.js 文件并将其放入其中:

import Vue from 'vue'
import { library, config } from '@fortawesome/fontawesome-svg-core'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
import { fas } from '@fortawesome/free-solid-svg-icons'
import { fab } from '@fortawesome/free-brands-svg-icons'

// This is important, we are going to let Nuxt.js worry about the CSS
config.autoAddCss = false

// You can add your icons directly in this plugin. See other examples for how you
// can add other styles or just individual icons.
library.add(fas)
library.add(fab)

// Register the component globally
Vue.component('font-awesome-icon', FontAwesomeIcon)
Run Code Online (Sandbox Code Playgroud)

然后在 nuxt.config.js

 css: [
    '@fortawesome/fontawesome-svg-core/styles.css'
  ],

  /*
  ** Plugins to load before mounting the App
  */
  plugins: [
    '~/plugins/fontawesome.js',

  ],
Run Code Online (Sandbox Code Playgroud)

然后在任何页面中使用:

<font-awesome-icon icon="['fab', 'facebook']"  style="font-size: 22px"/>
Run Code Online (Sandbox Code Playgroud)

这就是这里的全部

  • 完毕。顺便说一句, &lt;font-awesome-icon icon="['fab', 'facebook']" style="font-size: 22px"/&gt; 这不起作用。相反, &lt;font-awesome-icon :icon="{ prefix: 'fab', iconName: 'facebook' }" style="color: #4267B2; font-size: 72px;"/&gt; 它需要是这样的。只是为了看到这个页面的人。 (8认同)