首页 >> 大全

Electron打包桌面应用程序

2023-11-05 大全 26 作者:考证青年

打包桌面应用程序

是一个使用 、HTML 和 CSS 构建桌面应用程序的框架。

项目地址:

博客地址:

一、初始化项目

1、npm init指令初始化项目配置:

entry point选项的值应为main.js

和也必须填写,但是可以填写任意值

.json

{"name": "electron-app","version": "1.0.0","description": "a electron app demo","main": "main.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "xxx@gmail.com","license": "ISC"
}

2、安装依赖:

npm install --save-dev electron electron-builder

3、修改.json,在里添加start指令:

"start": "electron ."

4、执行npm start启动项目,会发现如下图报错:

这是因为现在还没有mian.js文件,线程找不到主进程。

二、创建视图文件和入口文件

1、新建index.html视图文件。


DOCTYPE html>
<html><head><meta charset="UTF-8"><meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'"><meta http-equiv="X-Content-Security-Policy" content="default-src 'self'; script-src 'self'"><title>Electron Apptitle>head><body><h1>Electron Apph1><p>这是我的第一个桌面应用程序p>body>
html>

2、再创建.js预加载脚本文件:

// 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])}
})

3、接下来创建main.js入口文件,内容如下:

// main.js
const { app, BrowserWindow } = require('electron')
const path = require('path')const createWindow = () => {const mainWindow = new BrowserWindow({width: 800,height: 600,webPreferences: {preload: path.join(__dirname, 'preload.js')}})// 加载 index.htmlmainWindow.loadFile('index.html')
}// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) createWindow()})
})// 当所有窗口都被关闭的时候退出程序
app.on('window-all-closed', () => {if (process.platform !== 'darwin') app.quit()
})

现在我们再来执行npm start启动项目,就会弹出一个如下图的窗口:

至此,说明我们的代码没有问题。

三、打包项目

1、修改.json文件,在里添加如下内容:

注:json文件不能有注释,请自己把后面的注释去除

"pack": "electron-builder --dir",// 暂时不知道用途,官方的配置
"postinstall": "electron-builder install-app-deps",// 编译命令
"build": "electron-builder",// 打包当前平台命令
"build-win": "electron-builder --win --ia32",// 打包windows 32位应用命令
"build-win64": "electron-builder --win --x64",// 打包windows 64位应用命令
"build-mac": "electron-builder --mac",//打包mac平台应用命令
"build-linux": "electron-builder --linux"// 打包Linux平台应用命令

完整的内容应为下图:

2、执行npm run 编译项目:

3、再执行npm run build打包(这里以当前平台为例)。

没有报错,说明我们打包成功。然后就发现多了一个dist文件夹,打开进去就是我们安装包的位置:

electron打包图标_electron打包工具_

免安装目录:不用安装,进去后直接双击里面的.exe文件就可以直接打开;

安装包:需要安装,直接双击就能正常安装。

到这里,我们就可以自己打包一个桌面应用程序了。

四、打包报错处理

1、要是我们运行npm run build打包时出现、nsis、nsis-文件下载不了的错误,这时我们就需要手动下载。

复制后面的下载地址到文件加速网站()下载相应的文件,把下载好的文件解压放到下列对应的文件夹中:

用户名为自己电脑的用户名(例如:C:\Users\Hello\\Local\-\Cache);

版本号为npm run build时下载地址中的版本号;

要是这个目录下没有\-\Cache\这个地址,则需要自己创建;

上面这图是成功打包的图,实际操作需要一步一步buid再下载文件。

:C:\Users\用户名\\Local\-\Cache\\-版本号

nsis:C:\Users\用户名\\Local\-\Cache\nsis\nsis-版本号

nsis-:C:\Users\用户名\\Local\-\Cache\nsis\nsis--版本号

当所有包都下载好后重新npm run build就可以了。

至此完结。

参考文档:

中文网

打包(平台)

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了