React+Electron快速创建并打包成桌面应用
创始人
2024-03-03 04:10:47
0

一、创建react项目

首先使用creat-react-app脚手架来创建一个react项目

# 安装 create-react-app 命令,如果已将安装请忽略
npm install -g create-react-app
# 创建 react项目
create-react-app react-electron
# 启动项目( create-react-app 真的超级方便啊)
cd react-electron && npm start

npm start之后浏览器会自动打开网址 http://localhost:3000/ ,出现react项目的页面了

在这里插入图片描述

二、安装Electron

#在react-electron项目目录下
npm install -save electron

三、配置文件

1.在项目根目录新建main.js

const { app, BrowserWindow } = require("electron")
const path = require('path')
const url = require('url')function createWindow() {const win = new BrowserWindow({width: 800,height: 800,minWidth: 800,minHeight: 800})win.loadURL("http://localhost:3000/")
}app.whenReady().then(() => {createWindow()app.on("active", () => {if (BrowserWindow.getAllWindows().length === 0) {createWindow()}})
})app.on("window-all-closed", () => {if (process.platform !== "darwin") {app.quit()}
})

2.配置package.json

添加如下两项配置:
{"main": "main.js", // 配置electron的启动文件"scripts": {"electron-start": "electron ."},}

3.启动electron

# 这里要打开两个窗口# 启动react项目
npm start
# 启动electron
npm run electron-start

npm run electron-start之后会自动出现桌面应用
请添加图片描述

四、打包Electron桌面应用

  1. 安装 electron-packager
npm install electron-packager -D
  1. ** 配置homePage字段**
    在package.json文件中添加如下配置
{"homepage": "."
}
{"script": {"package": "electron-packager ./build react-electron --platform=darwin --arch=x64 --electron-version 17.1.0 --overwrite"}
}
//mac系统 --platform=darwin
//Windows系统 --platform=win32

然后打包react代码,根目录会多出一个build文件夹

 npm run build
  1. 将main.js和package.json两个文件复制到build文件夹下,同时修改build文件夹下的main.js
// 加载应用----electron默认的打包入口
win.loadURL(url.format({pathname: path.join(__dirname, './index.html'), // 修改这里protocol: 'file:',slashes: true
}))
  1. 在根目录运行打包命令
npm run package

相关内容

热门资讯

《郑州市中医药发展促进条例》全... 【大河财立方消息】郑州市人民代表大会常务委员会公告,《郑州市中医药发展促进条例》已经郑州市第十六届人...
【行业观察】 政策护航 公募R... 戴丹苗(国信证券经济研究所分析师) REITs(不动产投资信托基金)在中国经历了从私募到公募,从债性...
关于《河南省烟草专卖管理条例(... 主任、各位副主任、秘书长、各位委员: 2025年7月,省十四届人大常委会第十八次会议对《河南省烟草专...
日本文部科学省:281名教职人... 中新网12月23日电 据日本广播协会(NHK)等日媒报道,当地时间22日,日本文部科学省表示,日本2...
涉及网约车、电梯……“法规体检... 12月22日,全国人大常委会法工委关于2025年备案审查工作情况的报告提请全国人大常委会会议审议。在...
关于《河南省建筑市场管理条例(... 省人大常委会: 2025年11月11日,省人民政府向省人大常委会报送了关于提请审议《河南省建筑市场管...
法治春风化纠纷 普法护航平安路 “以前出了交通事故,跑交警、找保险、跑法院来回折腾,现在一个中心全办完,还能学到法律知识,心里踏实!...
央行发布一次性信用修复政策,步... 文|张彦宗 一些为信用记录苦恼的人,将有机会迎来一次“重生”的机遇。 央行对于那些信用受损但还款积极...
促消费向稳向好需政策加力优化 今年以来,面对复杂多变的外部形势,我国把全方位扩大内需、做大做强国内大循环摆在重要位置,各项提振消费...
关于《河南省建筑市场管理条例(... 省人大常委会: 12月2日上午,常委会本次会议分组审议了《河南省建筑市场管理条例(修订草案)》(以下...