今天在使用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小寫了,這里的一定要大寫,就相當於我們在使用構造函數(類)的時候首字母要大寫