跳到主要内容

electron 开发问题

eletron+vite开发遇到的问题

  1. electron下载镜像地址修改
  2. 使用 nodejs 开启 electron main 进程的方式
const electronPath = require('electron');
const { spawn } = require('child_process');

// 这个 . 的路径也就是 main.js 的路径

或者借助开源工具catdad/electronmon,这个开源工具还会检测main.js的变化自动重启electron

  1. vite 打包的 esmodule 语法<script type="module">不支持electronFile协议,使用vite-plugin-singleFile将打包产物内联到 HTML 中;

  2. web 内部访问 electron 的 api,例如关闭窗口等,需要借助electron-preload线程间通信的机制

  3. 无边框拖拽

  4. 拖拽区域右键会显示系统菜单解决方法 —— https://github.com/electron/electron/issues/26726#issuecomment-1143199775

  5. 如何处理File协议和HTTP协议的冲突,本以为electron在生产环境使用File协议加载本地文件会在 HTTP 请求的时候限制跨域,实际上只要在axios这种 ajax 工具内部设置请求 URL 的baseUrl,在请求的时候串接完整的 URL 就可以直接发起 HTTP 请求

  6. electron-builder打包遇到下载错误的问题,一般需要这三个包:

下载下来放在本地%LOCALAPPDATA%\electron-builder\Cache这个目录下并解压