首页 > 其他分享 >快速开启react+electron应用,搭建启动问题

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

时间:2024-07-30 10:26:45浏览次数:13  
标签:npm 端口 dev react electron 3000 搭建

注意:

  • 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 页面。

标签:npm,端口,dev,react,electron,3000,搭建
From: https://blog.csdn.net/qq_21087199/article/details/140771034

相关文章

  • Sonatype Nexus Repository搭建与使用(详细教程3.70.1)
    目录一.环境准备二.安装jdk三.搭建Nexus存储库四.使用介绍 一.环境准备主机名IP系统软件版本配置信息nexus192.168.226.26Rocky_linux9.4NexusRepository3.70.1MySQL8.0jdk-11.0.232核2G,磁盘20G进行时间同步,关闭防火墙和selinuxJavaArchiveDownloads......
  • 超详细Python教程——使用Hexo搭建自己的博客
    使用Hexo搭建自己的博客对于一个程序员来说,搭建一个属于自己的博客平台是非常有意义的事情。首先,博客可以记录自己的成长历程,也是对自己一段时间学习和工作的总结和沉淀;其他,通过博客可以营销自己,增强自己在互联网或行业内的影响力,为将来更好的职业生涯打一个坚实的基础。前......
  • 2.Java开发环境搭建
    JDK下载与安装安装JDK下载电脑对应的JDK8版本(JDK8最稳定使用最广泛)JDK8下载安装JDK,记住安装路径配置环境变量:找到环境变量:“我的电脑”->“属性”->“高级系统设置”->“环境变量”新建系统变量“JAVA_HOME”,变量值为JDK安装路径。配置path变量:添加“%JAVA_HOME%\b......
  • React 的 KeepAlive 实战指南:深度解析组件缓存机制
    Vue的Keep-Alive组件是用于缓存组件的高阶组件,可以有效地提高应用性能。它能够使组件在切换时仍能保留原有的状态信息,并且有专门的生命周期方便去做额外的处理。该组件在很多场景非常有用,比如:·tabs缓存页面·分步表单·路由缓存在Vue中,通过KeepAlive包裹内的组件......
  • Hadoop伪分布式/分布式平台搭建教程以及安装过程中遇到部分问题的解决经验
    Hadoop伪分布式/分布式平台搭建教程声明:本搭建教程参考XMU的数据库实验室林子雨老师的搭建文档,附带了一点我们在安装时候遇到的问题和解决经验。XMU安装指导文档网址:https://dblab.xmu.edu.cn/blog/2544/目录文章目录Hadoop伪分布式/分布式平台搭建教程目录1.Linux......
  • 搭建Home Assistant智能家居系统 - 家庭设备「内网穿透」
     文章目录前言1.安装HomeAssistant2.配置HomeAssistant3.安装cpolar内网穿透3.1windows系统3.2Linux系统3.3macOS系统4.映射HomeAssistant端口5.公网访问HomeAssistant6.固定公网地址6.1保留一个固定二级子域名6.2配置固定二级子域名......
  • RabbitMQ实战——rabbitmq高可用集群搭建
    本文详细介绍了如何在CentOS7系统上部署RabbitMQ高可用集群,包括安装ERlang和RabbitMQ服务器,设置Web客户端,配置主机名映射,同步cookie,加入和退出集群,以及使用镜像队列实现数据同步。摘要由CSDN通过智能技术生成前言本节内容是关于rabbitmq高可用集群的部署搭建,使用的是centos7系统,......
  • FTP服务器搭建及C#实现FTP文件操作
    FTP服务器搭建及C#实现FTP文件操作1、搭建FTP服务器(以win10为例)FTP服务器搭建及C#实现FTP文件操作_c#ftp-CSDN博客2、代码usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Net;usingSystem.Text;usingSystem.Threading.Tasks;namesp......
  • 从零开始学嵌入式技术之C语言01:环境的搭建
    一:计算机语言简史(1)机器语言        1946年2月14日,世界上第一台计算机ENIAC诞生,使用的是最原始的穿孔卡片。这种卡片上使用的是用二进制代码表示的语言,与人类语言差别极大,这种语言就称为机器语言。(2)汇编语言        使用英文缩写的助记符来表示基本的操作,这......
  • 从零搭建MySQL主从复制-一主二从
    从零搭建MySQL主从复制-一主二从文章目录从零搭建MySQL主从复制-一主二从1.服务器准备2.Docker安装2.1、安装需要的软件包2.2、设置docker下载镜像2.3、更新yum软件包索引2.4、安装dockerce2.5、启动docker2.6、版本验证2.7、设置开机启动3.MySQL主从部署3.1部署MySQL......