【已解決】使用vue-electron腳手架進行vuex賦值時,失敗的解決辦法。
1、初步嘗試
我首先嚐試用mutation
(commit)傳參。結果控制檯報錯:
[Vuex Electron] Please, don't use direct commit's, use dispatch instead of this.
好好好。那我再用action
傳參試試。雖然控制檯沒報錯,但卻一直無法賦值!
2、查詢資料
我找到一個解決方法:
註釋掉store
目錄下index.js
的createSharedMutations
外掛。
經測試確實可以!但不知道為什麼。
3、深入研討
經過進一步的查閱。我瞭解到,剛才傳值失敗,是因為electron-vue
腳手架引入了vuex-electron
介個外掛。
文件中明確註明了:
In case if you enabled createSharedMutations() plugin you need to create an instance of store in the main process. To do it just add this line into your main process (for example src/main.js):
意思是:
如果你啟用了這個外掛,需要在主程序匯出(export )store的例項。
於是我在主程序中加上了這一句:
import '../renderer/store'
再次執行,賦值成功!
4、反思
vuex-electron
介個外掛,用於多程序間共享Vuex Store的狀態。
如果沒有多程序互動的需求,完全可以不引入 這個外掛。
再進一步思考。
之前我都是圖方便,直接用腳手架。
但它們有可能載入不必要的外掛。(甚至會導致相容問題)
需要注意~