【已解决】使用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的状态。
如果没有多进程交互的需求,完全可以不引入这个插件。

再进一步思考。
之前我都是图方便,直接用脚手架。
但它们有可能加载不必要的插件。(甚至会导致兼容问题)
需要注意~

暂时没有个人简介,立即添加

60 声望
1 粉丝
0 条评论
推荐阅读
electron 获取打包后的exe文件路径。
储存应用数据时,通常会使用 应用程序所在目录。即 userData 目录。路径是这样的:C:\Users\【用户名】\AppData\Roaming\【应用名】

黑夜的风2阅读 10.8k

从零搭建 Node.js 企业级 Web 服务器(零):静态服务
过去 5 年,我前后在菜鸟网络和蚂蚁金服做开发工作,一方面支撑业务团队开发各类业务系统,另一方面在自己的技术团队做基础技术建设。期间借着 Node.js 的锋芒做了不少 Web 系统,有的至今生气蓬勃、有的早已夭折...

乌柏木141阅读 11.9k评论 10

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木60阅读 6k评论 16

再也不学AJAX了!(二)使用AJAX ① XMLHttpRequest
「再也不学 AJAX 了」是一个以 AJAX 为主题的系列文章,希望读者通过阅读本系列文章,能够对 AJAX 技术有更加深入的认识和理解,从此能够再也不用专门学习 AJAX。本篇文章为该系列的第二篇,最近更新于 2023 年 1...

libinfs39阅读 6.2k评论 12

封面图
从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木39阅读 7.1k评论 6

CSS 绘制一只思否猫
欢迎关注我的公众号:前端侦探练习 CSS 有一个比较有趣的方式,就是发挥想象,绘制各式各样的图案,比如来绘制一只思否猫?思否猫,SegmentFault 思否的吉祥物,是一只独一无二、特立独行、热爱自由的(>^ω^&lt...

XboxYan42阅读 2.8k评论 14

封面图
还在用 JS 做节流吗?CSS 也可以防止按钮重复点击
举个例子:一个保存按钮,为了避免重复提交或者服务器考虑,往往需要对点击行为做一定的限制,比如只允许每300ms提交一次,这时候我想大部分同学都会到网上直接拷贝一段throttle函数,或者直接引用lodash工具库

XboxYan34阅读 2.2k评论 2

封面图

暂时没有个人简介,立即添加

60 声望
1 粉丝
宣传栏