【问题标题】:Vue CLI: Why does createApp work but Vue.createApp doesn't?Vue CLI:为什么 createApp 可以工作,而 Vue.createApp 不能?
【发布时间】:2021-10-24 12:10:50
【问题描述】:

我对 Vue.js 的 CLI 版本和使用 Vue istance 的普通版本之间的区别感到困惑。

在初始构建时,App.js 文件如下所示:

import { createApp } from 'vue'
import { App } from './App.vue'

createApp(App).mount('#app')

应用运行良好。

但如果我尝试稍微改变它并使用:

import { Vue } from 'vue'
import { App } from './App.vue'

Vue.createApp(App).mount('#app')

我得到的只是一个空白页。

一直想在Vue实例中添加一个原型来访问全局变量,但是不知道如果不能正常使用Vue类怎么办。

使用Vue.createAppcreateApp时vue-cli的功能有什么区别?

【问题讨论】:

  • @BoussadjraBrahim 我看到我的应用在使用createAppVue.createApp 时确实可以工作,但我不明白为什么它可以工作。
  • 第一个语法是正确的,因为vue 3中没有import { Vue } from 'vue',而Vue.createApp只有在通过CDN使用vue 3时才有效

标签: vue.js vuejs3 vue-cli-4


【解决方案1】:

由于您使用的是 vue cli,因此第一个语法是正确的,因为没有从 vue 导入的 Vue 对象,有关更多说明,请查看此 answer。要添加全局变量,请尝试使用 app.config.globalProperties.$globalVar

import { createApp } from 'vue'
import { App } from './App.vue'

let app=createApp(App)
app.config.globalProperties.$globalVar=555;
app.mount('#app')

【讨论】:

    猜你喜欢
    • 2017-11-24
    • 2018-09-07
    • 2010-09-27
    • 2021-03-16
    • 2010-10-16
    • 1970-01-01
    • 2022-01-10
    • 2011-06-08
    • 2020-05-31
    相关资源
    最近更新 更多