用Electron将Vue项目打包成桌面版软件

news2024/11/23 9:20:43

创建Electron项目这里是直接通过官方教程创建的

要检查 Node.js 是否正确安装,请在您的终端输入以下命令:

	node -v
	npm -v

这两个命令应输出了 Node.js 和 npm 的版本信息。

创建Electron应用程序

使用脚手架创建

Electron 应用程序遵循与其他 Node.js 项目相同的结构。 首先创建一个文件夹并初始化 npm 包。


注意:init初始化命令会提示您在项目初始化配置中设置一些值 为本教程的目的,有几条规则需要遵循:


  • entry point 应为 main.js.
  • author 与 description 可为任意值,但对于应用打包是必填项。
	mkdir my-electron-app && cd my-electron-app
	npm init

所以你的package.json 文件应该像这样:

	{
	  "name": "my-electron-app",
	  "version": "1.0.0",
	  "description": "Hello World!",
	  "main": "main.js",
	  "author": "Jane Doe",
	  "license": "MIT"
	}

然后,将 electron 包安装到应用的开发依赖中。

	npm install --save-dev electron

注意: 国内安装electron和其打包组件应该不会很顺利,可以提前配置好electron的下载地址 在npm的配置文件.npmrc中添加以下代码,官方描述请看这里


	# npm 使用淘宝源
	registry=https://registry.npm.taobao.org/
	# 使用国内的镜像地址下载electron
	ELECTRON_MIRROR = "https://npmmirror.com/mirrors/electron/"
	# 使用国内的镜像地址下载electron-builder
	ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/

最后,您希望能够执行 Electron 如下所示,在您的 package.json配置文件中的scripts字段下增加一条start命令:

	{
 	 	"scripts": {
    		"start": "electron .",
    		...
  		}
	}

start命令能让您在开发模式下打开您的应用

	npm start

注意:此脚本将告诉 Electron 在您项目根目录运行 此时,您的应用将立即抛出一个错误提示您它无法找到要运行的应用


准备代码文件

	// main.js
	const { app, BrowserWindow } = require('electron')

	function createWindow () {
	  const mainWindow = new BrowserWindow({
	    width: 800,
	    height: 600,
	  })
	
	  // 窗口全屏
	  // mainWindow.fullScreen = true
	  // 禁止手动调整窗口大小
	  // mainWindow.resizable = false
	  // 加载要打包的项目地址
	  mainWindow.loadURL('https://baidu.com')
	  // 或者加载要打包的html文件 index.html
  	  // mainWindow.loadFile('index.html')
	}
	
	app.whenReady().then(() => {
	  createWindow()
	
	  app.on('activate', () => {
	    if (BrowserWindow.getAllWindows().length === 0) {
	      createWindow()
	    }
	  })
	})
	
	app.on('window-all-closed', () => {
	  if (process.platform !== 'darwin') {
	    app.quit()
	  }
	})
	// package.json
	{
	  "name": "my-electron-app1",
	  "version": "1.0.0",
	  "description": "test",
	  "main": "main.js",
	  "scripts": {
	    "start": "electron .",
	    "test": "echo \"Error: no test specified\" && exit 1"
	  },
	  "author": "rendc",
	  "license": "ISC",
	  "devDependencies": {
	    "electron": "^25.2.0"
	  }
	}

在命令行执行启动项目

	npm start

项目效果
项目效果
以上就是创建项目的步骤,但是最重要的是后面的打包

打包并分发您的应用程序

最快捷的打包方式是使用 Electron Forge。

将 Electron Forge 添加到您应用的开发依赖中,并使用其"import"命令设置 Forge 的脚手架:

	npm install --save-dev @electron-forge/cli
	npx electron-forge import
	
	✔ Checking your system
	✔ Initializing Git Repository
	✔ Writing modified package.json file
	✔ Installing dependencies
	✔ Writing modified package.json file
	✔ Fixing .gitignore
	
	We have ATTEMPTED to convert your app to be in a format that electron-forge understands.
	
	Thanks for using "electron-forge"!!!

使用 Forge 的 make 命令来创建可分发的应用程序:

	npm run make

	> my-electron-app@1.0.0 make /my-electron-app
	> electron-forge make
	
	✔ Checking your system
	✔ Resolving Forge Config
	We need to package your application before we can make it
	✔ Preparing to Package Application for arch: x64
	✔ Preparing native dependencies
	✔ Packaging Application
	Making for the following targets: zip
	✔ Making for target: zip - On platform: darwin - For arch: x64	
	✔ Running postMake hook
  	Artifacts available at: /Users/xx/Desktop/my-electron-app/out/make	

注意:
想要mac电脑app安装包只用用mac电脑打包,想要win的exe只能使用win电脑打包


mac打包使用命令

	npm run make 

win打包使用命令

	npm run package 

mac安装包
mac安装包

Win安装包
Win安装包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/719764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Squid 代理服务器应用】

目录 一、Squid 代理服务器1、代理的工作机制2、代理服务器的概念及其作用3、Squid 代理的类型 二、安装 Squid 服务1.编译安装 Squid2.修改 Squid 的配置文件3.Squid 的运行控制1、检查配置文件语法是否正确2、启动 Squid,第一次…

在SpringBoot中对es集群的查询操作

在进行查询之前要先给ll索引中插入数据: POST /ll/product/1 {"id":1,"title": "小米手机Mix","category": "手机","brand": "小米","price": 2899.00,"images": "http://ima…

【数据结构】——常见排序算法(演示图+代码+算法分析)

目录 1. 常见排序算法 1.2 稳定性 2. 常见排序算法的实现 2.1 插入排序 2.1.1基本思想 2.1.2代码 2.1.4算法分析 2.2 希尔排序 2.2.1基本思想 2.2.2代码 2.2.3演示图 2.2.4算法分析 2.3 选择排序 2.3.1基本思想 2.3.2代码 2.3.3演示图 2.3.4算法分析 2.4 堆排…

[Visual Studio 报错] error 找不到指定的 SDK“Microsoft

[Visual Studio 2022 报错] error : 找不到指定的 SDK“Microsoft.NET.Sdk.Web” 问题描述: 在新电脑上安装了VS2022,打开现有项目的解决方案后的时候报了这个错,所有projet文件都加载失败,如图所示: 报错分析及解决 打开项目配…

黑客是怎样炼成的?

前言 首先我谈下对黑客&网络安全的认知,其实最重要的是兴趣热爱,不同于网络安全工程师,他们大都是培训机构培训出来的,具备的基本都是防御和白帽子技能,他们绝大多数的人看的是工资,他们是为了就业而学…

MFC扩展库BCGControlBar Pro v33.5新版亮点 - 控件、脚本管理增强

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中,并为您节省数百个开发和调试时间。 BCGControlBar专业版 v33.5已正式发布了,此版本包含了Ribbon(功能区)自定义…

CSS文本样式

CSS文本样式 1、字体 友情提醒&#xff1a; 字体有没有版权&#xff1f; 省略写法 语法&#xff1a; [ [ <‘font-style’> || || <‘font-weight’> || <‘font-stretch’> ]? <‘font-size’> [ / <‘line-height’> ]? <‘font-fam…

IDEA2023.1.3自带插件禁用,减少内存占用

前言 前两个星期安装了idea2023.1.3&#xff08;之前用的一直是idea2020.3版本&#xff09;&#xff0c;我发现新版界面确实更好看一些&#xff0c;而且启动速度也非常快&#xff0c;打开多个项目也一样很快&#xff0c;都是秒开。但是吧&#xff0c;它的内存占用比idea2020.3…

【若依】框架搭建,前端向后端如何发送请求,验证码的实现,开启注册功能

若依框架 若依框架&#xff08;Ruoyi&#xff09;是一款基于Spring Boot和Spring Cloud的开源快速开发平台。它提供了一系列的基础功能和通用组件&#xff0c;能够帮助开发者快速构建企业级应用。若依框架采用了模块化的设计理念&#xff0c;用户可以选择需要的功能模块进行集…

(03)QEMU模拟ATF启动

QEMU启动 准备一个目录qemu_boot存放所有镜像文件。最终启动需要的镜像如下所示。 Image QEMU_EFI.fd bl1.bin bl2.bin bl31.bin fip.bin flash.bin rootfs.cpio.gz准备镜像 EDK2 下载QEMU_EFI。 wget http://snapshots.linaro.org/components/kernel/leg-virt-tian…

go-redis

安装redis&#xff08;docker&#xff09; sudo docker pull redis sudo docker images 在官网下载redis.conf配置文件 redis官网&#xff1a;http://www.redis.cn/download.html 将下载后的压缩包解压得到redis.conf文件&#xff0c;放到自己的目录&#xff0c;我的是/hom…

数据结构与算法——图

&#x1f60a;数据结构与算法——图 &#x1f680;前言&#x1f680;图的基本概念&#x1f6a2;图的定义&#x1f6a2;图的基本操作&#x1f6a2;无向图和有向图&#x1f6a2;完全图&#x1f6a2;顶点的度、入度和出度&#x1f6a2;子图&#x1f6a2;顶点关系常用术语&#x1f…

我想在我自己的系统中加入微信支付功能,原来这么简单!!!

微信支付功能实现 一、创建SpringBoot项目 我们首先创建一个基本的SpringBoot项目。添加相关的依赖。 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId>&…

php宝塔搭建EMLOG站长工具箱网站自适应PC手机端php源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。本期给大家带来一套站长工具箱网站自适应PC手机端php源码。感兴趣的朋友可以自行下载学习。 技术架构 PHP5.6 nginx mysql5.6 JS CSS HTMLcnetos7以上 宝塔面板 文字搭建教程 下载源码&#xff0c;宝塔添…

SciencePub学术 | 数据处理类重点SCIEEI征稿中

SciencePub学术 刊源推荐: 数据处理类重点SCI&EI征稿中&#xff01;信息如下&#xff0c;录满为止&#xff1a; 一、期刊概况&#xff1a; 数据处理类重点SCIE&EI 【期刊简介】IF&#xff1a;3.5-4.0&#xff0c;JCR2区&#xff0c;中科院4区&#xff1b; 【出版社】…

CSS选择器常见用法

目录 一.总体分类 二.基础选择器 &#xff08;1&#xff09;标签选择器 &#xff08;2&#xff09;类选择器 &#xff08;3&#xff09;id选择器 &#xff08;4&#xff09;通配符选择器&#xff08;特殊&#xff09; 三.复合选择器 &#xff08;1&#xff09;后代选择器 &…

注意看!!!Linux中Ubuntu22.04之SVN的三种配置方式【详解~】

注意看&#xff01;&#xff01;&#xff01;Linux中Ubuntu22.04之SVN的三种配置方式【详解&#xff5e;】 配置目录大全<1>I、 安装&#xff08;易上手&#x1f446;&#xff09;II、使用SVN&#xff08;简单易操作&#xff09;III、配置SVN&#xff08;精通&#xff09…

一个事务回滚问题的解决

同事遇见一个事务回滚的问题&#xff0c;从controller提交的时候出现&#xff0c;transaction marked as rollbackonly 这个错误。 从调用栈上来看&#xff0c;没啥可用的信息&#xff0c;另外基本没有啥用户代码&#xff0c;都是框架JPA的代码 这个事其实以前遇见过类似的&…

Spring Boot 中的健康检查是什么, 如何使用

Spring Boot 是一个非常流行的 Java Web 开发框架&#xff0c;它提供了许多方便的功能&#xff0c;其中之一就是健康检查。健康检查是一种用来确保应用程序和其所依赖的服务的状态正常的机制。在本文中&#xff0c;我们将探讨 Spring Boot 中的健康检查是什么&#xff0c;以及如…