您的位置:首页 > 娱乐 > 八卦 > 快速开启react+electron应用,搭建启动问题

快速开启react+electron应用,搭建启动问题

2024/10/6 16:21:26 来源:https://blog.csdn.net/qq_21087199/article/details/140771034  浏览:    关键词:快速开启react+electron应用,搭建启动问题

注意:

  • React 本地启动在 3000端口
  • Electron 在创建 BrowserWindow 的时候,可以读取本地的文件或者是 url
  • 开发环境 读取localhost: 3000
  • 生产环境 需要加载本地成型以后的本地文件,打包的时候再考虑

一 react 脚手架 create-react-app 快速搭建 react

npx create-react-app  my-app-name
cd my-app-name
npm start

二 electron 的开发环境搭建

npm install electron --save-dev

三 环境配置

  • 新建main.js 文件(在package.json 同等目录下)
  • 打开package.json文件需要添加main.js作为入口文件
  • 在package.json中添加执行脚本
    在这里插入图片描述
  • electron-is-dev 用于判断 electron 的开发环境
    npm install electron-is-dev --save-dev

在这里插入图片描述

注:大概就是创建了一个 1024 * 680 的窗口,在开发环境下,将 http://localhost:3000
下的内容加载到electron窗口中。

三 开启 react+electron

在 package.json 文件中可以看到,要启动 react 和 electron 得执行以下两个脚本命令

在这里插入图片描述

npm start //可以看到在浏览器新打开一个监听 3000 端口的一个 tab
npm run ele // 弹出 electron 窗口

缺点:

  1. 需要跑两个命令
  2. 关掉 electron 窗口后,端口仍被占有的情况
  3. 需要 3000 端口跑起来了再刷新一下 electron 才会有内容
  4. 浏览器会打开一个 3000 端口的 tab 页, electron 会弹出加载了3000端口内容的窗口,理想状态下只需要保留 electron 中的窗口就好了

优化一:安装Concurrently
解决问题:解决以上 1和2 的问题,一次可以运行多个命令
安装:npm install concurrently --save-dev
配置:在 package.json 中的 scripts 添加一个 dev

"dev": "concurrently \" electron .\" \" npm start\""

优化二:安装 wait-on 插件
解决问题:解决 问题3 等3000端口执行完毕 再打开electron,为了不看到electron 白屏问题
安装:npm install wait-on
配置dev:

`"dev": "concurrently \"wait-on http://localhost:3000 && electron .\" \"npm start\""`

优化三:安装cross-env
解决问题:解决跨平台设置环境变量的问题。但是这次我们使用它是为了利用它的 BROWSER=none 来解决上面提到的第四个问题,不打开浏览器中的 tab 页。
安装:npm install cross-env --save-dev
配置dev:

"dev": "concurrently \"wait-on http://localhost:3000 && electron .\" \"cross-env BROWSER=none npm start\""

四 运行项目

npm run dev 直接打开electron 窗口 没有白屏 不需要打开浏览器tab 页面。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com