electron打包成exe的方法
发布时间:2022-07-26, 16:41:26 分类:VIM | 编辑 off 网址 | 辅助
图集1/3
正文 7501字数 217,578阅读
一、安装 Electron
创建一个空文件夹(文件夹的名字和路径应该尽量避开空格和一些非法字符的干扰,比如我用的是 D:\UnrealProjects\EleProj )。
打开 EleProj 文件夹,在此处打开控制台,输入以下命令:
init 初始化命令会提示我们初始化一些项目配置,并已给出一部分默认值,这里我们用默认的一路回车就好。
此时,文件夹中应该会多出一个名为 package.json 的文件,它大概长这个样子:
接着在控制台输入命令:
该命令会安装 Electron。安装过程大概率会非常耗时,并且遇到一些报错,例如 ELIFECYCLE、ECONNRESET 等,这基本都是网络问题,使用魔法后就能顺利安装了。
编辑 package.json 文件,在 scripts 字段下增加一条 start 命令:
start 命令能在开发模式下运行 Electron,让我们赶紧试试吧~
在控制台输入命令以运行 Electron:

根据报错,我们可以在 package.json 文件中找到如下属性:
main 属性配置的值是 Electron 应用程序的入口文件,因此,我们需要...↓↓↓
在项目的根目录下创建一个名为 index.js 的文件,并写入以下代码:
代码相对简单,注释我也写的比较清楚了,这里就不再赘述。
再次运行 Electron,看看效果吧~
打包到 exe
最快捷的打包方式是使用 Electron Forge,它非常的简单易用。
安装 Electron Forge,在控制台输入以下命令:
使用其 import 命令设置 Forge 的脚手架:
使用 Forge 的 make 命令来创建可分发的应用程序:
啊哦,又报错了

不难看出,上图黄框中即为该报错的关键信息。
在初始化项目配置时,author 和 description 属性是没有默认值的。
现在,我们再次打开 package.json,为上述两个属性赋值。
重新执行 Forge 的 make 命令。
这次不会再报错啦,而我们要的 exe 就在out/eleproj-win32-x64目录下。
一些小瑕疵的处理
自定义 exe 文件的名字与图标
修改 package.json 中 packagerConfig 相关配置,
新增 name 和 icon 属性,icon图片自己准备好。
窗口相关设置
修改 index.js 代码,在创建 BrowserWindow 对象时传入参数对象进行自定义。
更多窗口自定义设置,可参考其官方文档
CocosCreator & Steam 开发手记(1):Electron 打包 exe
Electron 如何打包生成exe安装包,注意是安装包。
windows 10下的kiosk模式
windows 10下的kiosk模式可以保证windows 10 开机自动运行某个程序,且全屏,除了按alt + del + ctrl组合键退出外,按鼠标、键盘不能见到任何window系统下的任何界面,
这模式专门这对pos机,超市收银,路边广告摊开发的,开机自启动,
除了按alt+del+ctrl退出外,按其它任何键,鼠标都不能看见windows下的其它东西。但是只有win10 家庭版才有此功能,企业版、win7 没发现该功能。
具体可以参考《Kiosk模式是什么?win10如何启用Kiosk模式?》
创建一个空文件夹(文件夹的名字和路径应该尽量避开空格和一些非法字符的干扰,比如我用的是 D:\UnrealProjects\EleProj )。
打开 EleProj 文件夹,在此处打开控制台,输入以下命令:
npm init
Run code
Cut to clipboard
init 初始化命令会提示我们初始化一些项目配置,并已给出一部分默认值,这里我们用默认的一路回车就好。
此时,文件夹中应该会多出一个名为 package.json 的文件,它大概长这个样子:
{
"name": "eleproj",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Run code
Cut to clipboard
接着在控制台输入命令:
npm install electron --save-dev
Run code
Cut to clipboard
该命令会安装 Electron。安装过程大概率会非常耗时,并且遇到一些报错,例如 ELIFECYCLE、ECONNRESET 等,这基本都是网络问题,使用魔法后就能顺利安装了。
编辑 package.json 文件,在 scripts 字段下增加一条 start 命令:
{
...
"scripts": {
"start": "electron .",
"test": "echo \"Error: no test specified\" && exit 1"
},
...
}
Run code
Cut to clipboard
start 命令能在开发模式下运行 Electron,让我们赶紧试试吧~
在控制台输入命令以运行 Electron:
npm start
Run code
Cut to clipboard
根据报错,我们可以在 package.json 文件中找到如下属性:
{
...
"main": "index.js",
...
}
Run code
Cut to clipboard
main 属性配置的值是 Electron 应用程序的入口文件,因此,我们需要...↓↓↓
在项目的根目录下创建一个名为 index.js 的文件,并写入以下代码:
// app模块控制应用程序的事件生命周期。
// BrowserWindow模块创建和管理应用程序窗口。
const { app, BrowserWindow } = require('electron')
/** 创建窗口 */
const createWindow = () => {
const mainWindow = new BrowserWindow()
}
// 这段程序将会在 Electron 结束初始化和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {
// 创建窗口
createWindow()
})
// 当所有窗口都被关闭的时候退出程序。
app.on('window-all-closed', () => {
app.quit()
})
Run code
Cut to clipboard
代码相对简单,注释我也写的比较清楚了,这里就不再赘述。
再次运行 Electron,看看效果吧~
打包到 exe
最快捷的打包方式是使用 Electron Forge,它非常的简单易用。
安装 Electron Forge,在控制台输入以下命令:
npm install --save-dev @electron-forge/cli
Run code
Cut to clipboard
使用其 import 命令设置 Forge 的脚手架:
npx electron-forge import
Run code
Cut to clipboard
使用 Forge 的 make 命令来创建可分发的应用程序:
npm run make
Run code
Cut to clipboard
啊哦,又报错了
不难看出,上图黄框中即为该报错的关键信息。
在初始化项目配置时,author 和 description 属性是没有默认值的。
现在,我们再次打开 package.json,为上述两个属性赋值。
{
...
"description": "CocosCreator & Steam Demo",
...
"author": "Thomac",
...
}
Run code
Cut to clipboard
重新执行 Forge 的 make 命令。
这次不会再报错啦,而我们要的 exe 就在out/eleproj-win32-x64目录下。
一些小瑕疵的处理
自定义 exe 文件的名字与图标
修改 package.json 中 packagerConfig 相关配置,
新增 name 和 icon 属性,icon图片自己准备好。
{
...
"config": {
"forge": {
"packagerConfig": {
"name": "Demo",
"icon": "icon.ico"
},
...
}
}
}
Run code
Cut to clipboard
窗口相关设置
修改 index.js 代码,在创建 BrowserWindow 对象时传入参数对象进行自定义。
/** 创建窗口 */
const createWindow = () => {
const mainWindow = new BrowserWindow({
width: 1336, // 整数型 (可选) - 窗口的宽度(以像素为单位)。 默认值为 800。
height: 768, // 整数型 (可选) - 窗口的高度(以像素为单位)。 默认值为 600。
resizable: false, // boolean (可选) - 窗口大小是否可调整。 默认值为 true。
fullscreen: true, // boolean (可选) - 窗口是否全屏. 当明确设置为 false 时,在 macOS 上全屏的按钮将被隐藏或禁用. 默认值为 false.
title: "Demo", // string(可选) - 默认窗口标题 默认为"Electron"。 如果由loadURL()加载的HTML文件中含有标签<title>,此属性将被忽略。
// icon: "", // (NativeImage | string) (可选) - 窗口图标。 在 Windows 上推荐使用 ICO 图标来获得最佳的视觉效果, 默认使用可执行文件的图标.
frame: false, // boolean (可选) - 设置为 false 时可以创建一个无边框窗口 默认值为 true。
})
mainWindow.removeMenu() // 删除窗口的菜单栏。
// 加载 index.html
mainWindow.loadFile('web-mobile/index.html')
}
Run code
Cut to clipboard
更多窗口自定义设置,可参考其官方文档
CocosCreator & Steam 开发手记(1):Electron 打包 exe
Electron 如何打包生成exe安装包,注意是安装包。
windows 10下的kiosk模式
windows 10下的kiosk模式可以保证windows 10 开机自动运行某个程序,且全屏,除了按alt + del + ctrl组合键退出外,按鼠标、键盘不能见到任何window系统下的任何界面,
这模式专门这对pos机,超市收银,路边广告摊开发的,开机自启动,
除了按alt+del+ctrl退出外,按其它任何键,鼠标都不能看见windows下的其它东西。但是只有win10 家庭版才有此功能,企业版、win7 没发现该功能。
具体可以参考《Kiosk模式是什么?win10如何启用Kiosk模式?》
BrowserView嵌入网页
在主线程中用BrowserView嵌入网页
打开根目录下打开main.js,直接引入并使用BrowserView就可以实现键入网页到应用中。
electron 打包成exe两种方式,以及常见问题
将上面代码修改根目录package.json文件,注意你改成你自己的项目名称~
常用electron打包方式分两种
一、electron-packager
含义就打包成直接运行包,可以直接打开exe运行
二、electron-builder
含义就是打包成安装版,可以自定义安装路径,安装图标,创建桌面快捷方式等,运行exe,打开开始安装
运行方式:npm run win (就是运行electron-packager打包方式)、npm run winexe (就是运行electron-builder打包方式),具体的代码在上面代码scripts参数里面~
在主线程中用BrowserView嵌入网页
打开根目录下打开main.js,直接引入并使用BrowserView就可以实现键入网页到应用中。
var BrowserView = electron.BrowserView; // 引入BrowserView
var view = new BrowserView(); //new出对象
mainWindow.setBrowserView(view); // 在主窗口中设置view可用
view.setBounds({ // 定义view的具体样式和位置
x:0,
y:120,
width:500,
height:500
})
view.webContents.loadURL('https://blog.csdn.net/m0_46171043?spm=1001.2101.3001.5343'); //view载入的页面
Run code
Cut to clipboard
electron 打包成exe两种方式,以及常见问题
{
"name": "electron-quick-start",
"version": "1.0.0",
"description": "A minimal Electron application",
"main": "main.js",
"scripts": {
"start": "electron .",
"win": "electron-packager . Bcreat --platform=win32 --arch=x64 --icon=icon.ico --out=./dlist --asar --app-version=0.0.1",
"winexe": "electron-builder --win --x64"
},
"repository": "https://github.com/electron/electron-quick-start",
"keywords": [
"Electron",
"quick",
"start",
"tutorial",
"demo"
],
"build": {
"appId": "com.bcreatexe.app",
"nsis": {
"oneClick": false,
"allowElevation": true,
"allowToChangeInstallationDirectory": true,
"installerIcon": "./icon.ico",
"uninstallerIcon": "./icon.ico",
"installerHeaderIcon": "./icon.ico",
"createDesktopShortcut": true,
"createStartMenuShortcut": true
},
"win": {
"target": "nsis"
}
},
"author": "GitHub",
"license": "CC0-1.0",
"devDependencies": {
"electron-builder": "^22.10.5",
"electron": "^12.0.5"
},
"dependencies": {
"electron-packager": "^15.2.0"
}
}
Run code
Cut to clipboard
将上面代码修改根目录package.json文件,注意你改成你自己的项目名称~
常用electron打包方式分两种
一、electron-packager
含义就打包成直接运行包,可以直接打开exe运行
二、electron-builder
含义就是打包成安装版,可以自定义安装路径,安装图标,创建桌面快捷方式等,运行exe,打开开始安装
运行方式:npm run win (就是运行electron-packager打包方式)、npm run winexe (就是运行electron-builder打包方式),具体的代码在上面代码scripts参数里面~
解决electron打包慢
1.安装electron-builder
2.更改npm的源和版本设置
这个设置可以在你执行安装依赖之前就设置好
或者直接在C:\user\xxx路径下 搜索.npmrc然后打开文件进行修改

注意:这个版本号需要和你package.json中的版本号相同
3.增加package.json里的设置
这里默认是打windows 64位的包.
如果打其他平台的包,只需要更改dist对应的命令,大概怎么配置请百度builder的配置
html5怎么好卡,解决electron打包慢,卡
使用WinRar软件制作程序安装包
electron打包生成exe程序
electron打包生成exe文件
electron打包成exe的方法
1.安装electron-builder
npm install electron-builder --save-dev
Run code
Cut to clipboard
2.更改npm的源和版本设置
这个设置可以在你执行安装依赖之前就设置好
//你可以使用终端输入命令
npm set ELECTRON\_MIRROR\=https://npm.taobao.org/mirrors/electron/
npm set ELECTRON\_CUSTOM\_DIR\=9.0.0
Run code
Cut to clipboard
或者直接在C:\user\xxx路径下 搜索.npmrc然后打开文件进行修改
注意:这个版本号需要和你package.json中的版本号相同
3.增加package.json里的设置
"build": {
"appId": "com.xxx.app",
"mac": {
"target": ["dmg","zip"]
},
"win": {
"target": ["nsis","zip"]
}
},
"scripts": {
"dist": "electron-builder --win --x64"
},
Run code
Cut to clipboard
这里默认是打windows 64位的包.
如果打其他平台的包,只需要更改dist对应的命令,大概怎么配置请百度builder的配置
html5怎么好卡,解决electron打包慢,卡
使用WinRar软件制作程序安装包
electron打包生成exe程序
electron打包生成exe文件
electron打包成exe的方法
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »