使用electron-vite创建桌面应用

news/2024/10/20 15:25:38/

使用electron-vite创建桌面应用

      • 一、框架搭建
      • 二、项目目录
      • 三、preload.js解读

一、框架搭建

官网地址https://cn.electron-vite.org

npm create @quick-start/electron@latest

按步骤操作即可
在这里插入图片描述

二、项目目录

1、main 主进程窗口:存放窗口代码
2、preload 预加载模块:用于窗口与页面间沟通的桥梁,增加可靠性
3、renderer渲染模块:主要存放前端页面代码
在这里插入图片描述

三、preload.js解读

官网对应位置:https://www.electronjs.org/zh/docs/latest/api/context-bridge
1、在preload/index.js中定义预加载信息

import { contextBridge,ipcRenderer } from 'electron'
if (process.contextIsolated) {try {contextBridge.exposeInMainWorld('mytest', {//当前方法可以在渲染模块通过 window.mytest.doThing 进行调用doThing: () => ipcRenderer.send('mqtt_data')})} catch (error) {console.error(error)}
} else {window.mytest= {//兼容问题doThing: () => ipcRenderer.send('mqtt_data')}
}

2、在渲染模块中进行调用

<script setup>function handleClick() {window.mytest.doThing()}
</script><template><ul class="versions"><button @click="handleClick">按钮</button></ul>
</template>

3、在主进程中进行接收

import { ipcMain } from 'electron'
ipcMain.on('mqtt_data', () => console.log(666))

效果:
在这里插入图片描述


http://www.ppmy.cn/news/1511644.html

相关文章

深度评测:文心快码(Baidu Comate)AI编程辅助大模型的革新之旅

深度评测&#xff1a;文心快码&#xff08;Baidu Comate&#xff09;AI编程辅助大模型的革新之旅 在人工智能日新月异的今天&#xff0c;编程辅助工具正逐步成为开发者们提升效率、激发创意的得力助手。今天&#xff0c;我将带您深入评测一款备受瞩目的AI编程辅助大模型——来…

Rust 面向对象编程

Rust 面向对象编程 概述 Rust 是一种系统编程语言&#xff0c;以其安全性、并发性和性能而闻名。尽管 Rust 并不是传统意义上的面向对象编程&#xff08;OOP&#xff09;语言&#xff0c;但它提供了一些机制和模式&#xff0c;使得可以在 Rust 中实现面向对象的设计理念。本文…

从0学习keepalived

keepalived的下载及几种基础配置 实验准备4台机器 完成基础配置 关闭防火墙和selinux ka1 ka2 server1 server2 ip依次是 172.25.254.10 172.25.254.20 172.25.254.110 172.25.254.120 ka1与ka2有vip 172.25.254.100 ka1 yum install keepalived -yvim /etc/keepalived/keepli…

Java实现腾讯云人脸识别集成:如何为司机创建人脸模型

文章目录 一、场景介绍二、实现步骤三、代码解析四、总结 在现代的开发过程中&#xff0c;我们经常需要集成各种云服务来增强应用的功能。今天&#xff0c;我想和大家分享一个在Java中集成腾讯云人脸识别的实际案例——为司机创建人脸模型。这个功能通常用于司机管理系统中&…

Visual Studio Code 使用Git详细教程

再集成之前请确保已经安装Visual Studio Code 和Git&#xff0c;并且可以找到Git文件地址。如果找不到可以在系统环境变量里面看一眼之前的配置-需要找到Git下面的cmd目录&#xff0c;一会配置使用。 打开 Visual Studio Code找到设置根据图片指引 1.找到左下角设置按钮 2.展开…

【精选】基于Python大型购物商城系统(京东购物商城,淘宝购物商城,拼多多购物商城爬虫系统)

目录&#xff1a; 目录&#xff1a; 系统介绍&#xff1a; 系统开发技术 Python语言 Django框架简介 MySQL数据库技术 B/S架构 系统设计 系统总体设计 系统详细界面实现&#xff1a; 系统测试 测试目的 测试用例 本章小结 参考代码&#xff1a; 为什么选择我&…

Docker 部署RocketMQ

1.namesrv 1.1 拉取rocketMQ镜像 docker pull apache/rocketmq:4.9.4 1.2 创建nameserver数据存储目录 rocketMQ 分为nameserver和broker两部分&#xff0c;在启动时应该先启动nameserver&#xff0c;因此我们现在先创建nameserver的日志和数据存放目录。这个目录可由我们自己…

JS实现一键点击按钮复制文本

JS实现一键点击按钮复制文本 背景描述JS代码实现 背景描述 现在有这样一个需求&#xff0c;想要在页面实现点击按钮&#xff0c;一键复制指定列表字段内容的操作&#xff0c;就像这样的效果 复制成功之后的内容在Notepad 粘贴可以看到 正式列表中链接地址字段的内容&#xf…