“在‘​​vue’中找不到导出‘createApp’

Posted

技术标签:

【中文标题】“在‘​​vue’中找不到导出‘createApp’【英文标题】:"export 'createApp' was not found in 'vue' 【发布时间】:2021-07-21 16:23:15 【问题描述】:

我是一个新手 vuejs 开发人员,我尝试使用 vuex 进行状态管理,但遇到错误。代码如下:

**main.js file**

    import  createApp  from 'vue';

import router from './router';
import store from './store/index';
import App from './App';
import vuetify from './plugins/vuetify';

const app = createApp(App);

app.use(router);
app.use(store);
app.use(vuetify);
app.mount('#app');

  **error**

警告编译时有 4 个警告 ./src/main.js 中的警告

“在'vue'中找不到导出'createApp'

./node_modules/vuex/dist/vuex.esm-browser.js 中的警告

“在'vue'中找不到导出'inject'

./node_modules/vuex/dist/vuex.esm-browser.js 中的警告

“在'vue'中找不到导出'reactive'

./node_modules/vuex/dist/vuex.esm-browser.js 中的警告

“在'vue'中找不到导出'watch'

【问题讨论】:

【参考方案1】:

错误(以及您添加到问题中的vuejs2)似乎表明您正在运行 Vue 2,但您的代码实际上使用的是 Vue 3 的 API。

需要最少更改的最简单解决方案是在您的项目中安装 Vue 3:

npm install --save vue@3

【讨论】:

或者使用 vue2 api..... 比如vuejs.org/v2/guide/instance.html 对其进行了升级,但出现了另一个错误`错误:[VuetifyLoaderPlugin 错误] 找不到 vue-loader 的匹配规则。确保至少有一个使用 vue-loader 的根级规则,并且在 VueLoaderPlugin 之后应用 VuetifyLoaderPlugin。 ` 没有足够的上下文来解决该问题。听起来您试图手动设置项目。我推荐使用Vue CLI 来搭建一个新项目。使用该工具可以轻松添加 Vuex、Vue Router 和 Vuetify。【参考方案2】:

我认为,你需要这样使用:

const app = Vue.createApp(/* options */)

import  createApp  from "vue";
const app = createApp(
    // root instance definition
);

我猜 main.js 不适合那个定义。

来自Vue document的参考

【讨论】:

以上是关于“在‘​​vue’中找不到导出‘createApp’的主要内容,如果未能解决你的问题,请参考以下文章