当前位置: 首页 > news >正文

electron开发百度桌面应用demo及如何打包应用

1.开发入口文件main.js

1-1 加载百度URL

const { app, BrowserWindow, nativeImage } = require('electron')
const path = require('node:path')const createWindow = () => {const win = new BrowserWindow({width: 800,height: 600,})//加载百度URLwin.loadURL('https://www.baidu.com/')
}app.whenReady().then(() => {// 调用 createWindow 函数,该函数的作用是创建一个新的浏览器窗口createWindow()
})

1-2 设置窗口图标

1-2-1 根目录中添加ico图标,如图


1-2-2 入口文件main.js中设置icon

 const appIcon = nativeImage.createFromPath(path.join(__dirname, 'baidu.ico'))const win = new BrowserWindow({width: 800,height: 600,icon: appIcon,})

1-3 入口文件完整实例代码

const { app, BrowserWindow, nativeImage } = require('electron')
const path = require('node:path')const createWindow = () => {const appIcon = nativeImage.createFromPath(path.join(__dirname, 'baidu.ico'))const win = new BrowserWindow({width: 800,height: 600,icon: appIcon,})// 设置菜单不可见win.menuBarVisible = false;//加载指定路径的文件//win.loadFile('index.html')// 加载指定的 URLwin.loadURL('https://www.baidu.com/')
}app.whenReady().then(() => {// 调用 createWindow 函数,该函数的作用是创建一个新的浏览器窗口createWindow()
})

2.启动项目测试

npm run start

3.使用 Electron Forge打包应用

3-1 安装Electron Forge ,并使用现成的转化脚本将项目导入至 Electron Forge

npm install --save-dev @electron-forge/cli
npx electron-forge import

3-1-1 安装完成检查package.json配置是否如下

3-2 package.json中添加打包应用图标配置

 "config": {"forge": {"packagerConfig": {"icon": "./logo.ico"}}},

3-3 打包应用

npm run make

3-4 解决打包错误

3-4-1 package.json中添加makers配置

 "config": {"forge": {"packagerConfig": {"icon": "./logo.ico"},"makers": [{"name": "@electron-forge/maker-squirrel","platforms": ["win32"]},{"name": "@electron-forge/maker-zip","platforms": ["win32"]}]}},

3-5 重新打包

npm run make

3-5-1 打包完成

打包完成看到一个 out 文件夹,其中包括可分发文件与一个包含其源码的文件夹,证明打包成功。

http://www.xdnf.cn/news/690283.html

相关文章:

  • SpringBoot 执行Lua脚本 服务端执行 减少性能损耗 优化性能 优化连接性能
  • linux使用服务添加一个开机启动脚本
  • 同一机器下通过HTTP域名访问其他服务器进程返回504问题记录
  • 服务器带宽线路的区别(GIA、CN2、BGP、CMI等)
  • Python教程(七)——错误和异常
  • Rust并发编程实践指南
  • Hadoop复习(一)
  • LVS-DR 负载均衡群集
  • LeetCode Hot100 (普通数组)
  • 深入解析 IP 代理:原理、应用场景与优化策略
  • ubuntu20.04安装NVIDIA显卡驱动(驱动官网下载安装包,解决开机启动黑屏问题,终极保姆式方案教程)
  • 51c~CUDA~合集1
  • Nginx内置变量及案例详解
  • 【mysql】-5 索引
  • 服务器tty2终端如何关机
  • WebAssembly 及 HTML Streaming:重塑前端性能与用户体验
  • 力扣100题---字母异位词分组
  • 力扣经典算法篇-16-最长公共前缀(顺序查找法,二分查找法,分治算法)
  • 学习率及相关优化参数详解:驱动模型高效训练
  • IP 风险画像技术略解
  • Parasoft C++Test软件单元测试_实例讲解(对多次调用的函数打桩)
  • apptrace 视角下移动端深度链接技术与优势​
  • 02-BTC-密码学原理 对hash算法如果出现漏洞的思考
  • MySQL 使用全局锁会导致的问题?
  • 【从零开始学习QT】Qt 概述
  • zookeeper 操作总结
  • 切换到旧提交,同时保证当前修改不丢失
  • K最近邻(KNN)算法完整实现指南
  • Linux -- gdb/cgdb的认识和使用
  • React Context 与状态管理:用与不用