我对Nuxt.js注册插件所用的方法很好奇。我一直在阅读Nuxt.js的文档,我对注册方法有点困惑。
I不希望在全球注册诸如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中注册所有插件,创建一个更大的下载文件供用户下载(例如:在没有文本区域的页面上注册vue-twix是不必要的),还是nuxt/webpack将逐个页面或组件处理删除不必要的插件(所以我甚至不用担心这个问题)?如果是这样的话。谢谢
发布于 2019-06-13 16:11:04
如果您只想在某些组件上使用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>https://stackoverflow.com/questions/56551985
复制相似问题