React Electron生成桌面应用过程
一、创建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桌面应用
安装 electron-packager
npm install electron-packager -D
** 配置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
将main.js和package.json两个文件复制到build文件夹下,同时修改build文件夹下的main.js
// 加载应用----electron默认的打包入口
win.loadURL(url.format({
pathname: path.join(__dirname, './index.html'), // 修改这里
protocol: 'file:',
slashes: true
}))
在根目录运行打包命令
npm run package
到此这篇关于React Electron生成桌面应用过程的文章就介绍到这了,更多相关React Electron桌面应用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
React不使用requestIdleCallback实现调度原理解析
这篇文章主要为大家介绍了React不使用requestIdleCallback实现调度原理解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-11-11
React + Typescript领域初学者的常见问题和技巧(最新)
这篇文章主要介绍了React + Typescript领域初学者的常见问题和技巧,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-06-06
关于React中使用window.print()出现页面无响应问题解决记录
这篇文章主要介绍了React中使用window.print()出现页面无响应问题解决记录,首先问题原因可能是操作了document但是并未进行销毁(可能是),具体问题解决思路参考下本文吧2021-11-11
React Hooks中 useRef和useImperativeHandle的使用方式
这篇文章主要介绍了React Hooks中 useRef和useImperativeHandle的使用方式,文中说明了useRef和useCallback一起使用, 可以解决闭包陷阱的问题,本文结合实例代码介绍的非常详细,需要的朋友可以参考下2023-10-10


最新评论