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

前端 Electron 桌面应用学习笔记

前端 Electron 桌面应用学习笔记

  • 介绍
    • Electron是什么?
    • 为什么选择Electron?
  • 创建你的第一个桌面应用程序
  • 启动项目
    • 运行结果截图
    • 打开调试面板方法
  • 生命周期函数
  • 常用配置
            • 配置窗口标题
            • 配置小图标
            • 隐藏菜单栏
            • 关闭调试面板
            • 是否可以使用Node.js
            • 隐藏 Electron 标题、小图标和菜单栏
            • 获取窗口对象方法

介绍

  • 官网

Electron是什么?

  • Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。

为什么选择Electron?

  • Electron 是一个框架,使开发者能够将 Web 技术(HTML、JavaScript、CSS)、Node.js 及原生代码相结合,构建适用于 macOS、Windows 和 Linux 的跨平台桌面应用程序。 它基于MIT开源许可证,对商业和个人用途均免费。

创建你的第一个桌面应用程序

  • 初始化项目
npm init -y
  • 安装 Electron
npm install electron -S
  • 创建main.js入口文件,示例代码如下:
const { app, BrowserWindow } = require('electron')// 创建窗口
function createWindow() {// 主窗口const mainWin = new BrowserWindow({width: 1200,height: 800})// 在当前窗口中加载指定界面让它显示具体的内容mainWin.loadFile('./website/index.html')// 文本加载完成事件mainWin.webContents.on('dom-ready', () => {console.log('22222--------dom-ready');})// 监听窗口加载完成事件mainWin.webContents.on('did-finish-load', () => {console.log('3333333--------did-finish-load');})// 监听窗口关闭事件mainWin.on('close', () => {console.log('888888888--------close');mainWin = null // 释放内存})
}app.on('ready', () => {console.log('11111111111----------ready');createWindow()
}) // 初始化完成后执行// 监听所有窗口都关闭
app.on('window-all-closed', () => {console
http://www.xdnf.cn/news/12503.html

相关文章:

  • electron-vite串口通信
  • 队列的概念及实现
  • LeetCode 高频 SQL 50 题(基础版)之 【子查询】· 上
  • (LeetCode 每日一题)3170. 删除星号以后字典序最小的字符串(贪心+栈)
  • Vue3学习(4)- computed的使用
  • 【学习笔记】深度学习-参数初始化
  • Android 蓝牙通信
  • 从0开始学习R语言--Day19--连续变量的相关性检验
  • c++ 单例模式
  • Android和硬件通信
  • 二.单例模式‌
  • Shell: 解决文件复制后权限变化问题
  • 两阶段提交
  • 7.2.1_顺序查找
  • Linux 初始化与服务管理全解析:rc.d、systemctl与service对比
  • 我用AI降低AI率:一次“用魔法打败魔法”的实验
  • 深入理解 Python `asyncio` 的子进程协议(Subprocess Protocol)
  • 离散傅里叶级数(DFS)的用途
  • Qt生成日志与以及捕获崩溃文件(mingw64位,winDbg)————附带详细解说
  • DevSecOps新理念
  • 【信息系统项目管理师-选择真题】2025上半年(第二批)综合知识答案和详解(回忆版)
  • flex布局 flex:1里面的盒子内容过多溢出处理
  • FISCO-BCOS 联盟链 caliper测试示例非常完善
  • vxe-table 如何设置单元格垂直对齐
  • PP-OCRv5_server_det.yml参数解释
  • Java中==和equals的区别
  • 如何使用索引和条件批量更改Series数据
  • VS如何编译QuaZip库
  • MPO接口型光模块的失效检测
  • boost::qvm 使用示例