【Electron】桌面应用开发快速入门到打包Windows应用程序
创始人
2024-09-25 21:22:32
0

electron 实现桌面应用开发快速入门到打包Windows应用程序

一、基本介绍

‌‌Electron 是一个使用‌ JavaScript、‌HTML 和‌ CSS 构建桌面应用程序的框架。它通过将‌Chromium和‌Node.js嵌入到其二进制文件中,允许开发者使用JavaScript代码库创建跨平台的桌面应用程序,支持Windows,Mac和Linux等多个操作系统。
详细内容可以在 electron官网 了解

二、环境配置

用 electron 开发桌面应用,需要提前安装Node.js和npm,然后再安装 electron 以及后续的打包工具。
在整个安装到打包过程中,会发现一系列诡异的报错,这些报错大多都是由node和npm版本问题所致,用cnpm的话,也有一部分原因是由于cnpm镜像所导致,所以建议安装最新版本的node和npm以及cnpm(安装最新版本可以尽量减少诡异问题出现),而且在整个安装过程中需要保持网络畅通,如果网络稳定中途还会出现拉包失败的问题。
总之,刚开始搭建的跑项目还好一些,都会比较顺利,后面的打包确实坑挺多的,遇到一个解决一个吧~

1. 升级 node.js 版本

运行所需要的Node版本是v14.17.0以上,但是建议大家安装或者更新到最新版本

可以在官网安装 node.js官网
或者 nvm 切换版本

2. 升级 npm 版本

npm install -g npm 

3. 升级 cnpm 版本

如果升级了 npm 但是 cnpm -v 版本还没有变化版本还没有任何变化,需要执行以下命令

cnpm i -g cnpm 

4. 安装Electron框架

cnpm install electron -g 

三、快速搭建

1. 初始化项目

创建一个自己的文件夹,如【electrontest】,cmd 打开到此文件夹,中执行以下命令
最好使用 cmd 打开,PowerShell打开往往也会有诡异报错

npm init 

init时根据提示创建package.json文件,也可以一路Enther,后续都可以改,最终得到如下

在这里插入图片描述

2. 设置package.json文件

{   "name": "test",   "version": "1.0.0",   "description": "测试项目",   "main": "index.js",   "scripts": {     "test": "test",     "start": "electron .",     "build": "electron-builder --win --x64"   },   "author": "",   "license": "ISC",   "devDependencies": {     "electron": "^32.0.1",     "electron-builder": "^24.13.3"   } } 

3. 安装electron和打包工具electron-builder

执行以下命令

cnpm install electron --save-dev cnpm install electron-builder --save-dev 

4. 创建index.js和index.html文件

index.html文件

           Hello World!     

Hello World!

开始你的 electron 之旅

index.js文件

const { app, BrowserWindow } = require('electron');  function createWindow() {   // 创建浏览器窗口   const mainWindow = new BrowserWindow({     width: 1000,     height: 800,     webPreferences: {       nodeIntegration: true     }   });    // 并加载应用的index.html   mainWindow.loadFile('index.html');    // 打开开发者工具(可选)   mainWindow.webContents.openDevTools(); }  // Electron将在初始化完成后,准备创建浏览器窗口时调用这个函数 app.whenReady().then(createWindow);  // 所有窗口关闭时退出应用 app.on('window-all-closed', () => {   // 在macOS上,除非用户用Cmd + Q确实地退出,否则绝大部分应用及其菜单栏会保持激活   if (process.platform !== 'darwin') {     app.quit();   } });  app.on('activate', () => {   // 在macOS上,当点击dock图标并且没有其他窗口打开时,通常会在应用中重新创建一个窗口   if (BrowserWindow.getAllWindows().length === 0) {     createWindow();   } }); 

5. 创建electron-builder.yml文件

打包配置文件,用来配置项目打包的信息,打包后的标题、icon图标以及打包后的路径

appId: '应用名称' productName: '安装后显示的标题' directories:   output: './dist'   buildResources: 'build'   app: './'   win:   icon: '图标路径'   mac:   icon: '图标路径'   linux:   icon: '图标路径'   nsis:   oneClick: false   allowToChangeInstallationDirectory: true 

示例

appId: 'testId' productName: 'electron测试项目' directories:   output: './dist'   buildResources: 'build'   app: './'   win:   icon: 'icon.png'   mac:   icon: 'icon.png'   linux:   icon: 'icon.png'   nsis:   oneClick: false   allowToChangeInstallationDirectory: true 

6. 运行项目

npm run start 

在这里插入图片描述

四、Windows打包

执行以下命令

npm run build 

会生成一个dist文件,打开dist文件会看到打好的exe程序
在这里插入图片描述
整体文件目录如下
在这里插入图片描述

如果在安装和打包的过程中遇到了很多诡异的报错,可以参考以下文章:
【Electron】桌面应用开发electron-builder打包报错问题处理
如果想在应用程序中打开一个链接,可以参考以下文章:
【Electron】桌面应用开发启动直接打开一个网址或者浏览器打开一个网址

相关内容

热门资讯

安卓系统app更新软件,And... 亲爱的手机控们,你们有没有发现,最近你的手机里那些熟悉的APP们,好像都悄悄地换上了新装呢?没错,安...
手机怎么安双卡安卓系统,轻松实... 你有没有想过,拥有一部可以同时使用两张SIM卡的手机是多么的方便呢?想象一张卡用来工作,另一张卡用来...
安卓系统卸载软件api,功能与... 手机里的软件越来越多,是不是感觉内存都要不够用了?别急,今天就来给你揭秘安卓系统卸载软件的神秘面纱,...
miui操作系统和安卓系统,深... 亲爱的手机控们,今天咱们来聊聊一个让无数米粉心动的系统——MIUI操作系统,还有那个它背后的老大哥—...
原生安卓系统使用教学,原生安卓... 哇,你手里拿的那部手机,是不是也觉得它有点儿特别呢?它可能没有那些花里胡哨的界面,但它却有着自己独特...
安卓系统玩咸鱼之王,三国名将助... 你有没有发现,最近安卓系统上的游戏圈里,有一款叫做《咸鱼之王》的游戏火得一塌糊涂?没错,就是那个让你...
鸿蒙1.0系统是安卓系统吗,揭... 你有没有听说最近华为的鸿蒙1.0系统?是不是有点好奇,这鸿蒙1.0系统是不是安卓系统的“亲戚”呢?别...
优盘安卓系统用桃,U盘安装An... 你有没有想过,你的电脑也能变身成安卓手机?没错,就是那种可以安装各种APP、玩游戏的安卓手机!这可不...
怎样使用安卓8系统,安卓8系统... 你有没有想过,你的安卓手机其实是个小智能助手,只要你会使用,它能帮你做很多事情呢!今天,就让我来带你...
鼎威安卓系统版本,性能升级与用... 你有没有发现,现在车机系统越来越智能了?这不,鼎威的安卓系统版本就让我眼前一亮。想象坐在车里,手指轻...
安卓系统安装抢红包,轻松成为抢... 亲爱的手机控们,是不是每次微信群里抢红包都感觉手慢无?别急,今天我要给你揭秘如何在安卓系统上轻松安装...
写ios系统和安卓系统的人,揭... 你有没有想过,那些默默无闻的程序员们,他们是如何创造出我们每天离不开的iOS系统和安卓系统呢?想象他...
安卓系统设计尺寸规范,适配与优... 亲爱的设计师们,你是否在为安卓系统的设计尺寸规范而头疼?别担心,今天我要带你一起探索这个神秘的领域,...
旧主机改安卓系统,安卓系统改造... 亲爱的读者们,你是否有过这样的经历:家里的旧主机闲置在角落,看着它那略显过时的外观,心里不禁感叹:“...
安卓系统里有趣的,尽在掌握 探索安卓乐园:那些让你笑出声的趣味游戏 开篇:手机里的欢乐小天地想象你手握一部安卓手机,屏幕上跳动...
法兰规格查询系统安卓,安卓版功... 你有没有想过,在繁忙的工程现场,如何快速找到合适的法兰规格呢?别急,今天就来给你揭秘一个神器——法兰...
目前安卓系统最高配置,极致性能... 你有没有发现,现在的手机越来越厉害了,就像是科幻电影里的高科技产品一样。今天,咱们就来聊聊这个话题:...
安卓修改系统返回键,个性化设置... 你有没有发现,手机里的那个小小的返回键,有时候就像是个顽皮的小家伙,让你摸不着头脑?别急,今天就来教...
安卓订餐系统教程视频,从设计到... 你是不是也和我一样,每天忙碌的生活中,最期待的就是那一顿美味的午餐或晚餐呢?现在,有了安卓订餐系统,...
安卓系统限制外部软件,探索外部... 亲爱的手机控们,你是否曾遇到过这样的烦恼:明明打开了“未知来源”,却还是无法安装那些心仪的外部软件?...