首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nuxt插件进口滥用供应商

Nuxt插件进口滥用供应商
EN

Stack Overflow用户
提问于 2021-02-25 20:19:53
回答 3查看 263关注 0票数 3

我试着在一个nuxt应用程序中使用vuejs-datepicker,一切都是由nuxt插件的使用标准完成的。

plugins/vue-datepicker.js

代码语言:javascript
运行
复制
import Vue from 'vue'
import Datepicker from 'vuejs-datepicker'

Vue.component('Datepicker', Datepicker)

nuxt.config.js

代码语言:javascript
运行
复制
plugins: [
  { src: '~/plugins/vue-datepicker', ssr: false }
],

但是,即使没有使用它,我也会在构建后将其dist上传到vendors/app....js中。如何使nuxt为其创建一个单独的块,并仅在正在使用它的页面中导入该块?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-02 17:46:29

如果您试图找到将组件与vendor分离的方法,但是您得到了一个document is not defined错误,您可以使用这个语法导入您的组件,它将使用您的组件创建一个单独的块,并且只在客户端使用它。

代码语言:javascript
运行
复制
components: {
  Datepicker: () => import('vue-datepicker')
}

另外,在大多数情况下,将组件包装在<client-only>标记中会很有帮助。

票数 1
EN

Stack Overflow用户

发布于 2021-03-01 16:18:15

因此,对于这种用例,基本上有一个特性请求打开

但是看看Nuxt生命周期,它看起来就像是在VueJS实例完成之前就导入了插件。因此,如果它是在Vue之前完成的,就不能延迟加载它。

但是,您可以将vuejs-datepicker完全导入页面本身,而不是整个项目。这可能就足够了

代码语言:javascript
运行
复制
import Datepicker from 'vuejs-datepicker' // then simply use `Datepicker` in the code below

如果不是,您可以尝试以下解决方案:https://github.com/nuxt/nuxt.js/issues/2727#issuecomment-362213022

代码语言:javascript
运行
复制
// plugins/my-plugin
import Vue from 'vue'
export default () => {
  // ...
  Vue.use(....)
}

// adminLayouts
import myPlugin from '~/plugins/my-plugin'
export default {
  created() {
    myPlugin()
  }
}

因此,缺点是,每次需要组件时,您都必须导入它,而不是全局导入它,但它也允许您只在相关的页面上加载它,并且让它在每个页面/组件上分块。

票数 1
EN

Stack Overflow用户

发布于 2021-06-05 21:27:02

我试图导入的插件使用了window。因此,在我的例子中,任何其他建议的解决方法仍然会导致nuxt崩溃或出错。我搜索了整个万维网,下面的解决方案是唯一允许我的应用程序运行的解决方案。

与使用ES6导入插件不同,您可以在挂载钩子中导入插件,这应该只在客户机中运行。所以:

代码语言:javascript
运行
复制
async mounted() {
  const Datepicker = await import('vuejs-datepicker');
  Vue.use(Datepicker);
}

我不知道您试图使用的具体插件,但在我的示例中,我不得不在插件的默认属性上调用Vue.use(),从而生成Vue.use(MyPlugin.default)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66375900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档