1.electron架构思考
在做electron桌面开发中,Electron+vue当下算是性价比的比较高的。但是electron算是小众开发,遇到问题,基本上就是掉进深坑,爬好久才出来。
为了做一个项目,我翻遍了国内好多网站。看到一篇好的文章。Electron 应用实战 (架构篇) 这篇还是很值得好好看看
其中一句话,我觉得讲的很有道理====》数据通讯方案决定整体的架构方案。
原因:Electron 有两个进程,分别为 main 和 renderer,而两者之间需要进行通讯,通讯机制不同。
1. 方案1 只是简单的通信,没有大数据量通信。
通常采用本身的自带方案,ipc方式 main 端有 ipcMain,renderer 端有 ipcRenderer,分别用于通讯。
缺点:不支持大数据通信和复杂的业务逻辑
2.用remote模块渲染进程直接调用主进程的进程
remote模块官方文档 https://electronjs.org/docs/api/remote
例如
主进程:
1 2 3 4 5 6 7 8 |
|
渲染进程
1 2 3 4 5 6 7 |
|
3.Electron+vue一渲染进程直接调用主进程的方法
3.1创建项目
1 |
|
3.2安装依赖
1 |
|
3.3产生目录结构
1 2 3 4 5 6 |
|
1 |
|
1 |
|
1 |
|
1 |
|
3.4主进程=>创建 foo.js
1 2 3 4 5 6 7 8 9 |
|
3.4渲染进程=>main.js
1 2 3 4 5 6 7 8 9 10 11 |
|
3.5 landingPage.vue
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
3.6 webpack增加新entry
在 .electron-vue/webpack.main.config.js 添加新entry
a good solution by editing the webpack.main.config.js
and manually adding every relative module as new entries.
1 2 3 4 5 6 |
|
参考:
https://github.com/SimulatedGREG/electron-vue/issues/291