在单个组件中从“vue”导入 Vue 是不是正确?

Posted

技术标签:

【中文标题】在单个组件中从“vue”导入 Vue 是不是正确?【英文标题】:Is right to import Vue from 'vue' in single component?在单个组件中从“vue”导入 Vue 是否正确? 【发布时间】:2020-02-07 23:31:22 【问题描述】:

我从这个文档中读到:https://chartkick.com/vue

import Vue from 'vue'
import Chartkick from 'vue-chartkick'
import Chart from 'chart.js
Vue.use(Chartkick.use(Chart))'

那么在 Vue js 中将其添加到单个组件中是否正确? 我有嵌套组件,我只想将此图表包含到一个组件中。我应该将它包含在全局的 main.js 中还是本地的组件中?

【问题讨论】:

这很好,你没有加载一个全新的 Vue 实例 【参考方案1】:

你在单个组件中从 'vue' 导入 Vue 对吗?

一般来说,是的。如果您通过vue-cli 从头开始​​创建一个新的 Vue 项目,您将看到默认组件如何从“vue”导入 Vue。

现在,这并不意味着您应该在 sfc 中配置插件。这段代码来自 vue chartkick 页面:

import Vue from 'vue'
import Chartkick from 'vue-chartkick'
import Chart from 'chart.js'

Vue.use(Chartkick.use(Chart))

不打算放在 SFC 文件中。通常,在 Vue 项目中,您有一个 main.js 文件,您可以在其中设置 Vue。您可以在 main.js 中执行此操作。在同一个 main.js 文件中,您还可以设置任何其他插件。

你应该调用Vue.use(plugin)之前调用new Vue(...)来启动你的Vue实例,所以不要在SFC中添加插件。

【讨论】:

而当我把它放在 main.js 中时,如何在单个组件中调用它? 从主页看来,一旦你配置了chartkick,你就可以立即在你的组件模板中使用<line-chart>和其他图表组件,但我从未尝试过这个库。

以上是关于在单个组件中从“vue”导入 Vue 是不是正确?的主要内容,如果未能解决你的问题,请参考以下文章

vue打包体积优化之旅

无法从 Vue.js 中的单个文件组件导入 Mixin

如何将 svg 文件导入 Vue 组件?

具有单个文件组件的 WordPress Vue 插件 - 无法使用导入

如何导入具有正确类型的 Vue 类组件?

使用 TypeScript 时如何在单个文件组件中导入 Vue?