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

这里写自定义目录标题

前言

🔥🔥🔥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仓库时会自动触发工作流脚本并执行

yml 复制代码
# .github/workflows/build-macos.yml

name: Build macOS App

on:
  # 当推送获取拉取时触发工作流	
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  build-macos:
  	# 指定编译环境: macos-latest | ubuntu-latest
    runs-on: macos-latest

    steps:
    	# 检出当前仓库的所有代码
      - name: Checkout code
        uses: actions/checkout@v2
		
		# 安装node环境
      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          # 指定具体的node版本
          node-version: '20.18.0'

		# 安装项目相关依赖包
      - name: Install dependencies
        run: npm ci

		# 执行构建相关命令
      - name: Build Electron app
        run: npm run build:mac

      - name: Upload artifact
        uses: actions/upload-artifact@v2
        with:
          name: macos-dmg
          path: dist/mac/*.dmg
          

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


相关推荐
李姆斯26 分钟前
管理是否可以被完全量化
前端·产品经理·团队管理
名字还没想好☜1 小时前
Next.js 中间件实战:鉴权、重定向与 A/B 分流
开发语言·前端·javascript·中间件·react·next.js
广州灵眸科技有限公司1 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) INI文件操作
java·前端·javascript·网络·人工智能
心中有国也有家2 小时前
AtomGit Flutter 鸿蒙客户端:ModalBottomSheet 实战
android·javascript·学习·flutter·华为·harmonyos
江华森2 小时前
Web 开发基础:HTTP 与 REST
前端·网络协议·http
Hyyy2 小时前
为什么 macOS 应用一换 Bundle ID,之前授予的权限就全失效了?
macos·electron
IT_陈寒2 小时前
Redis的KEYS命令把我搞崩溃了,改用SCAN才活过来
前端·人工智能·后端
p似笑非笑3 小时前
实战验证——把 SDK 塞进一个 macOS 原生 Agent 应用
macos
Jackson__3 小时前
为什么 Agent 越聊越慢?聊聊 Context(上下文)管理
前端·agent·ai编程
KaMeidebaby3 小时前
卡梅德生物技术快报|抗体合成:多肽抗体合成工程化方案:Nsp2 保守肽多抗制备与多维度验证
前端·网络·数据库·人工智能·算法