今天在使用vuex的時候遇到這麼個問題,雖然後來解決了,是首字母大寫的原因,但我還是不知道為什麼。這裡先記錄下來。
這是vuex/store.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const state = {
count: 1
}
export default new Vuex.store({
state
})
控制台報錯
TypeError: __WEBPACK_IMPORTED_MODULE_1_vuex__.a.store is not a constructor
TypeError: "x" is not a constructor裡的解釋:
是因為嘗試将不是構造器的對象或者變量來作為構造器使用。參考 constructor 或者 new
operator 來了解什麼是構造器。
另在網上找到部落格一篇,之處這是因為Store的S小寫了。
這個報錯的是_vuex2.default.store 不是一個構造函數因為在我們用vuex的時候需要将用到的actions,mutations子產品最終導出,在導出的時候new Vuex.Store中的Store小寫了,這裡的一定要大寫,就相當于我們在使用構造函數(類)的時候首字母要大寫