【已解決】使用vue-electron腳手架進行vuex賦值時,失敗的解決辦法。

1、初步嘗試

我首先嚐試用mutation(commit)傳參。結果控制檯報錯:

[Vuex Electron] Please, don't use direct commit's, 
use dispatch instead of this.

好好好。那我再用action傳參試試。雖然控制檯沒報錯,但卻一直無法賦值!

2、查找資料

我找到一個解決方法:

註釋掉store目錄下index.jscreateSharedMutations插件。

經測試確實可以!但不知道爲什麼。

3、深入研討

經過進一步的查閱。我瞭解到,剛纔傳值失敗,是因爲electron-vue腳手架引入了vuex-electron介個插件。

點擊查看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):
import './path/to/your/store'

意思是:

如果你啓用了這個插件,需要在主進程導出(export )store的實例。

於是我在主進程中加上了這一句:

import '../renderer/store'

再次運行,賦值成功!

4、反思

vuex-electron介個插件,用於多進程間共享Vuex Store的狀態。
如果沒有多進程交互的需求,完全可以不引入這個插件。

再進一步思考。
之前我都是圖方便,直接用腳手架。
但它們有可能加載不必要的插件。(甚至會導致兼容問題)
需要注意~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章