掌握Electron工具链:在Windows操作系统上无缝开发MacOS软件

ops/2024/11/17 11:27:00/

这里写自定义目录标题

    • 前言
    • 实现方式
    • 实现过程

前言

🔥🔥🔥Electron作为一个跨平台的构建工具,可以让我们实现快速构建桌面应用,给前端开发带来了巨大的便利。相信使用过Electron,都会面临这么一个问题:需要跨平台构建相关的应用程序。但是Electron明确的表明,构建MacOS的应用,应该在MacOS系统内,这就给我们造成了困扰,要是没有MacOS系统呢?难道我们就不做了吗?
✨✨✨这篇文章就是本着解决跨端构建的问题的,好东西要分享,不是吗?

实现方式

本文将着重说明在window平台下,构建MacOS的dmg格式安装包
electron-vite:2.3.0
vue:3.4.30

作为一个开发,github总是了解的吧,那github action应该也是了解的吧😀
主要的方式就是借用github action强大的CI/CD, 通过编写工作流,在我们提交代码时,执行相关的打包命令实现我们的跨平台构建流程。

实现过程

其它过程按照正常开发流程即可,主要就是一个工作流脚本,在项目的根目录下创建workflows的脚本,当我们代码提交至github仓库时会自动触发工作流脚本并执行

# .github/workflows/build-macos.ymlname: Build macOS Appon:# 当推送获取拉取时触发工作流	push:branches:- mainpull_request:branches:- mainjobs:build-macos:# 指定编译环境: macos-latest | ubuntu-latestruns-on: macos-lateststeps:# 检出当前仓库的所有代码- name: Checkout codeuses: actions/checkout@v2# 安装node环境- name: Set up Node.jsuses: actions/setup-node@v2with:# 指定具体的node版本node-version: '20.18.0'# 安装项目相关依赖包- name: Install dependenciesrun: npm ci# 执行构建相关命令- name: Build Electron apprun: npm run build:mac- name: Upload artifactuses: actions/upload-artifact@v2with:name: macos-dmgpath: dist/mac/*.dmg

除此之外,github action 提供了很多的命令,有需求可以自行去官方文档查看

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/ops/134410.html

相关文章

安全生产管理的重要性:现状、痛点与改进之路

当前,安全生产管理已经成为企业管理中的关键环节,但现实中仍然存在诸多痛点。近年来,随着工业化和现代化的快速推进,企业在追求效益的同时,忽视安全管理的现象屡见不鲜。据统计,安全事故的发生频率仍然较高…

【鸿蒙开发】第二十二章 IPC与RPC进程间通讯服务

目录 1 IPC与RPC通信概述 2 实现原理 3 约束与限制 4 使用场景 5 开发步骤 5.1 Native侧开发步骤 5.2 ArkTS侧开发步骤 6 远端状态订阅开发实例 6.1 使用场景 6.1.1 Native侧接口 6.2 ArkTS侧接口 6.3 Stub感知Proxy消亡(匿名Stub的使用) 1 …

flutter下拉刷新上拉加载的简单实现方式三

使用 CustomScrollView 结合 SliverList 实现了一个支持下拉刷新和上拉加载更多功能的滚动列表,对下面代码进行解析学习。 import dart:math;import package:flutter/material.dart;import custom_pull/gsy_refresh_sliver.dart; import package:flutter/cupertino…

❤React-React 组件基础(类组件)

❤React-React 组件基础 1、组件化开发介绍 组件化开发思想:分而治之 React的组件按照不同的方式可以分成类组件: 划分方式一(按照组件的定义方式) 函数组件(Functional Component )和类组件(Class Component); …

StructRAG Boosting Knowledge 论文笔记

StructRAG: Boosting Knowledge Intensive Reasoning of LLMs via Inference-time Hybrid Information Structurization 论文精读 背景知识 知识密集型推理任务(knowledeg- intensive reasoning task): 知识密集型推理任务(knowledge-inte…

简单理解回调函数

回调函数是编程中一个非常重要的概念,它是一种以函数作为参数并在某个事件或条件满足时被调用的函数。这种机制使得程序能够以非线性的方式执行,增加了代码的灵活性和模块化。下面我将详细解释回调函数的几个关键点: 定义和作用 回调函数是一…

创新方法教学:挖掘自闭症儿童潜能的重要机构

在浩瀚的宇宙中,每一颗星星都闪烁着独特的光芒,而在这个世界上,每一个自闭症儿童都是一颗未被完全发掘的璀璨星辰。他们或许在社交互动、语言表达上存在障碍,但他们的内心世界却同样丰富多彩,充满了无限的潜能与可能。…

【Linux】多线程(中)

目录 一、线程互斥 1.1 互斥概念 1.2 互斥量mutex 1.3 互斥量相关API (1)初始化互斥量 (2)销毁互斥量 (3)互斥量加锁和解锁 1.4 互斥量原理 1.5 重入和线程安全 二、死锁 2.1 概念 2.2 造成死锁…