使用Electron打包React项目
创始人
2024-03-24 22:43:33
0

1、下载Electron

Electron中文官网地址:https://www.electronjs.org/zh/docs/latest/
Electron下载如果单纯使用npm的话,会出现n多问题
所以建议使用国内的淘宝镜像

npm config set registry https://registry.npmmirror.com/

然后下载

cnpm install --save-dev electron

下载完成后package.json文件出现以下依赖,成功

在这里插入图片描述

2、修改package.json文件

在package.json文件中增加一行

"homepage":"./",

否则打包之后的index.html文件打开为空白

3、打包react项目

运行命令

npm run build

项目中出现build文件夹
在这里插入图片描述

确定打包后的文件是否能够正常运行
全局安装 serve

npm i serve -g

然后运行build文件

serve build

4、使用vscode或其他工具打开build文件夹

将原来的项目关掉,使用其他工具打开刚刚生成的build文件夹
当然也可以选择不单独打开build文件夹,但是要把终端中的路径改为build下的

5、初始化项目

运行命令

npm init

会出现一些选项,按照自己的需求来填就行
其中
license这个选项windows用户填 MIT ,其他的系统要上网查
main 选项填 main.js

然后就会出现,package.json文件夹

6、创建main.js和preload.js文件

在build根目录创建这两个文件
在这里插入图片描述

main.js

const { app, BrowserWindow } = require('electron')
const path = require('path')
console.log("hello")function createWindow () {const win = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js')}})win.loadFile('index.html')
}app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) {createWindow()}})
})app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit()}
})

preload.js

window.addEventListener('DOMContentLoaded', () => {const replaceText = (selector, text) => {const element = document.getElementById(selector)if (element) element.innerText = text}for (const type of ['chrome', 'node', 'electron']) {replaceText(`${type}-version`, process.versions[type])}})

7、下载Forge 脚手架并进行设置

运行命令下载脚手架

cnpm install --save-dev @electron-forge/cli

进行设置

npx electron-forge import

但是,设置这一步基本都会出错,所以我们使用以下方式进行:

1、设置npm electron默认安装路径的环境变量

npm config set ELECTRON_MIRROR http://npmmirror.com/mirrors/electron/

2、修改package.json文件

{"name": "electron-react",//用自己的"version": "1.0.0",//用自己的"description": "electron-test",//用自己的"main": "main.js",//用自己的"scripts": {"start": "electron-forge start",//加上"package": "electron-forge package",//加上"make": "electron-forge make",//加上"e-start": "electron ."//加上},"keywords": ["123456"],"author": "gk","license": "MIT","devDependencies": {"@electron-forge/cli": "^6.0.4",//版本号根据自己下载的electron-forge/cli版本号来,下面的版本号都跟这个相同"@electron-forge/maker-deb": "^6.0.4",//版本号跟@electron-forge/cli同  加上"@electron-forge/maker-rpm": "^6.0.4",//版本号跟@electron-forge/cli同  加上"@electron-forge/maker-squirrel": "^6.0.4",//版本号跟@electron-forge/cli同  加上"@electron-forge/maker-zip": "^6.0.4",//版本号跟@electron-forge/cli同  加上"electron": "^22.0.0"//用自己的},"dependencies": {"electron-squirrel-startup": "^1.0.0"//加上},//以下的全部加上"config": {"forge": {"packagerConfig": {},"makers": [{"name": "@electron-forge/maker-squirrel","config": {"name": "electron_demo"}},{"name": "@electron-forge/maker-zip","platforms": ["darwin"]},{"name": "@electron-forge/maker-deb","config": {}},{"name": "@electron-forge/maker-rpm","config": {}}]}}
}

3、下载依赖
运行命令

cnpm install 或者 npm install 
//npm install可能会下载失败

8、打包

运行命令

npm run make

这里会有点久,需要耐心等待

9、运行exe文件

在打包完成之后,会在build文件夹下生成out文件夹
打开out文件夹
在这里插入图片描述
运行exe文件,即可

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...