从零搭建一个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 小时前
Webpack的基本功能有哪些
前端·javascript·vue.js
小纯洁w1 小时前
Webpack 的 require.context 和 Vite 的 import.meta.glob 的详细介绍和使用
前端·webpack·node.js
想睡好2 小时前
css文本属性
前端·css
qianmoQ2 小时前
第三章:组件开发实战 - 第五节 - Tailwind CSS 响应式导航栏实现
前端·css
zhoupenghui1682 小时前
golang时间相关函数总结
服务器·前端·golang·time
White graces3 小时前
正则表达式效验邮箱格式, 手机号格式, 密码长度
前端·spring boot·spring·正则表达式·java-ee·maven·intellij-idea
庸俗今天不摸鱼3 小时前
Canvas进阶-4、边界检测(流光,鼠标拖尾)
开发语言·前端·javascript·计算机外设
bubusa~>_<3 小时前
解决npm install 出现error,比如:ERR_SSL_CIPHER_OPERATION_FAILED
前端·npm·node.js
风清云淡_A4 小时前
【react18】如何使用useReducer和useContext来实现一个todoList功能
react.js
流烟默4 小时前
vue和微信小程序处理markdown格式数据
前端·vue.js·微信小程序