从零搭建一个react + electron项目

最近打算搭建一个react + electron的项目,发现并不是那么傻瓜式 于是记录一下自己的实践步骤

  1. 通过create-react-app 创建react项目

    复制代码
    npx create-react-app my-app 
  2. 安装electron依赖

    复制代码
    npm i electron -D
  3. 暴露react项目的配置文件 (这一步看自己需求,我需要改目录结构)

    在package.json中有一个eject命令,直接执行就可以,执行前要保证没有更变的内容,也可以将.git删掉 或者提前配置好远端仓库

    执行完毕后,会发现目录里多了config、scripts目录,里面就是相关的一些配置文件

    这时候可以看到webpack.config.js 以及一些路径的修改了

    这里我改了path的映射,把react项目根目录的内容全部放到renderer目录中,以app作为顶层去管理主进程(main)和渲染进程(renderer)

    path.js:

  4. 修改package.json命令、入口文件

    这里如果要区分node环境,需要安装cross-env

    复制代码
    npm i cross-env -D

    修改主进程入口main参数(根据自己的实际目录来)

  5. 配置主进程入口文件

    配置相关内容可以复制官网的electron demo中的main.js
    https://github.com/electron/electron-quick-start/blob/main/main.js

    要注意,如果react项目跑起来的端口是localhost: 3000,主进程创建BrowserWindow也要对应loadURL为3000端口

    我这里对应配置的入口文件为index.js,package.json里写的main映射到你写的js入口文件就行了

  6. 运行electron

npm run start:react

npm run start:main

相关推荐
莫西干式秃头1 小时前
用 AI + threejs 写了个浏览器里的 3D 动作游戏《武来》:砍怪、放技能、开 SU7
前端·人工智能·three.js
kyriewen2 小时前
我测了 6 种防请求竞态的写法:只有 1 种真能打
前端·javascript·程序员
孟健2 小时前
用 WorkBuddy 做个人名片网页,挂上开源设计技能后效果完全不同了
前端·人工智能·ai编程
IT_陈寒2 小时前
SpringBoot自动配置的坑,这次终于爬出来了
前端·人工智能·后端
LuHang3 小时前
从天地图切换到高德地图:一次真实的底图迁移实战
前端·vue.js·cesium
用户360055579003 小时前
Kestrel_VLLM - 27 · 寄存器常驻与融合发射:两次「少发一次」
前端
前端小万3 小时前
用"道法术器"重构你和 AI 的协作方式
前端·人工智能·程序员
鶴哥只手遮天3 小时前
Angular 22 源码级深度解析-第 06 章 模板指令全解:`ɵɵelementStart`、`ɵɵproperty`、`ɵɵadvance` 与绑定指令
前端·开源·angular.js
像我这样帅的人丶你还3 小时前
我html生成的doc文档为何在手机文档显示不了图片?
前端·javascript
前端双越老师4 小时前
程序员 1v1 访谈系列第十期:纯前端坚持不了多久了
前端·ai编程·全栈