我对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()
}
我的问题确实是:
vue
实例的情况下在组件中注册插件? (我认为这叫公共汽车)nuxt.config.js
中注册所有插件,以创建更大的下载文件供用户下载(例如:在没有textareas的页面上无需注册vue-twix),否则nuxt / webpack会处理以下内容的删除:在逐页或逐组件的基础上添加不必要的插件(因此我什至不必为此担心)?如果是这种情况,那么我会挖nuxt。谢谢
答案 0 :(得分:0)
如果只想在某些组件上使用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>