網(wǎng)站首頁 編程語言 正文
一、創(chuàng)建react項目
首先使用creat-react-app腳手架來創(chuàng)建一個react項目
# 安裝 create-react-app 命令,如果已將安裝請忽略
npm install -g create-react-app
# 創(chuàng)建 react項目
create-react-app react-electron
# 啟動項目( create-react-app 真的超級方便啊)
cd react-electron && npm start
npm start之后瀏覽器會自動打開網(wǎng)址 http://localhost:3000/ ,出現(xiàn)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之后會自動出現(xiàn)桌面應(yīng)用
四、打包Electron桌面應(yīng)用
1.安裝 electron-packager
npm install electron-packager -D
2.** 配置homePage字段**
在package.json文件中添加如下配置
{ "homepage": "." }
{ "script": { "package": "electron-packager ./build react-electron --platform=darwin --arch=x64 --electron-version 17.1.0 --overwrite" } } //mac系統(tǒng) --platform=darwin //Windows系統(tǒng) --platform=win32
然后打包react代碼,根目錄會多出一個build文件夾
npm run build
將main.js和package.json兩個文件復(fù)制到build文件夾下,同時修改build文件夾下的main.js
// 加載應(yīng)用----electron默認的打包入口
win.loadURL(url.format({
pathname: path.join(__dirname, './index.html'), // 修改這里
protocol: 'file:',
slashes: true
}))
在根目錄運行打包命令
npm run package
原文鏈接:https://blog.csdn.net/koufulong/article/details/128080185
相關(guān)推薦
- 2023-04-08 C#字符串和Acsii碼相互轉(zhuǎn)換_C#教程
- 2022-02-09 利用上下文屬性將?C++?對象嵌入?QML?里_C 語言
- 2023-01-11 Pytorch可視化(顯示圖片)及格式轉(zhuǎn)換問題_python
- 2022-08-20 Oracle刪除歸檔日志及添加定時任務(wù)_oracle
- 2023-06-04 django數(shù)據(jù)庫報錯解決匯總:django.db.utils.OperationalError?1
- 2022-11-05 安裝ingress-nginx遇到的一些坑實戰(zhàn)記錄_云其它
- 2023-01-02 C#中static的詳細用法實例_C#教程
- 2022-03-16 使用Lvs+Nginx集群搭建高并發(fā)架構(gòu)的實現(xiàn)示例_nginx
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支