Nuxtjs 插件注册



我对Nuxt.js用于注册插件的方法很好奇。我一直在阅读Nuxt的文档.js我对注册方法有点困惑。

不想全局注册vue-flag-icon等插件。

我的理解是,当我们注册插件时,我们使用插件文件夹如下:

import Vue from 'vue'
import FlagIcon from 'vue-flag-icon'

Vue.use(FlagIcon)

我现在可以在应用程序中的任何位置使用标志组件 - 我不想要这个!!

我希望能够将插件加载到只需要它们的组件中。

我尝试将它们加载为组件,例如:

components:{
'flag': ()=> import('path to plugin') // @/plugins/vue-flag-icon
}

这行不通。

我将插件脚本更改为:

import Vue from 'vue'
import FlagIcon from 'vue-flag-icon'
export default () => {
Vue.use(FlagIcon)
}

然后尝试在组件中注册插件,如下所示:

import flag from '@/plugins/vue-flag-icon';
created(){
flag()
}

我的问题实际上是:

  1. 如何在不导入vue实例的情况下在组件中注册插件?(我认为被称为公共汽车)
  2. 插件直接导入组件是不好的做法吗?
  3. 注册所有插件nuxt.config.js创建一个更大的下载文件供用户下载(例如:在没有文本区域的页面上不需要注册 vue-twix),还是 nuxt/webpack 会逐页或逐个组件处理删除不必要的插件(所以我什至不必担心这个)?如果是这种情况,那么我就挖努克斯特了。

谢谢

如果只想在某些组件上使用 FlagIcon,则必须导入它并在要使用的每个组件上使用它。

<template>
<flag iso="ca" />
</template>
<script>
import FlagIcon from 'vue-flag-icon'
export default () => {
components: {
FlagIcon
}
</script>

这应该有效。

对于其他组件,请记住导入组件可能需要的任何样式表:

<style lang="scss" scoped>
@import 'path/to/plugin/style.css';
</style>

最新更新