问题描述
我正在尝试将Vuex与Vue 3一起使用。这是main.js中的代码:
import { createApp } from 'vue';
import App from './App.vue';
import Vuex from 'vuex';
const app = createApp(App);
app.use(Vuex);
const store = new Vuex.Store({
state: {
counter: 0
}
});
app.store(store);
app.mount('#app');
尝试此操作时,出现以下错误:
Uncaught TypeError: Vue is not a constructor
我尝试使用官方Vuex文档中推荐的语法,但这也不起作用。有人知道如何解决这个问题吗?
解决方法
发生此错误是因为您正在呼叫new Vuex.Store
,就像对 Vuex 3 所做的那样。
如果您使用的是 Vue 3 ,则必须通过发出以下命令来安装 Vuex 4 :
# npm
npm install --save vuex@next
# yarn
yarn add vuex@next
然后建立您的商店并将其“注入”到Vue实例,如下所示:
import { createStore } from 'vuex';
import { createApp } from 'vue';
const store = createStore({
state () {
return {
count: 1
}
}
})
const app = createApp({ /* your root component */ });
app.use(store);
有关更多详细信息,请参考Vuex文档: