使用rsbuild创建react+typescript项目
src下创建ui文件夹存放前端代码App.css、App.tsx、env.d.ts、index.tsx移动到ui文件夹下rsbuild.config.ts中的配置electron如果安装的很慢,可以在根目录创建一个.npmrc文件,添加以下内容,从淘宝镜像获取electron
安装完成后你可能会看到以下警告
执行以下命令
勾选core-js和electron,然后回车,运行安装脚本
在src下创建app文件夹存放electron代码
创建一个简单的electron应用
修改一下package.json
运行命令看一下第一版效果

使用typescript书写electron代码,获取更多的类型提示
tsconfig.json,将electron代码排除src/app下创建tsconfig.json文件src/app/main.js为src/app/main.tspackage.json,调整入口添加tsc命令将electron代码编译为js现在成功的使用typescript书写electron代码了,但是运行项目更加麻烦了
electron-builderelectron-builder.json设置打包配置
因为之前配置web编译路径和app编译路径都在dist下,所以我偷懒设置files:["dist"]
但是electron-builder打包时也会生成文件到dist下,导致了滚雪球,包的体积增大了一倍!!!
package.json增加打包命令你可能会遇上下面的报错信息:
说明终端的权限不足,需要以管理员身份运行终端
以管理员身份运行终端,重新打包,你可能会遇上下面的报错信息:
大概率是网络问题,如果你有代理可以运行下面的命令设置代理
再次打包,成功~

前面已经成功的完成了项目的搭建以及打包,但是每次修改react代码都需要打包一次才能看到效果,非常的麻烦,下面进行一些优化
corss-env,在启动时设置环境变量,让electron在开发环境去加载react的开发服务器地址package.json,在启动electron时设置环境变量src/app/utils.ts文件,定义一个环境判断方法src/app/main.ts,在开发环境下加载react的开发服务器地址现在以及可以体验到react的热更新了
项目启动后修改一下react的代码,可以看到electron窗口内容会同步更新
现在需要两个终端开启动开发环境,还可以继续优化
npm-run-all在一个终端启动多个命令(可同时终端)package.json,使用npm-run-all同时启动react和electron现在可以直接pnpm dev启动开发环境