使用 electron 把 vue 项目打包成客户端

Electron桌面应用打包现有的vue项目 如果您想打包成可执行文件,可以使用 Electron Builder 或 Electron Packager。Electron 中启动一个内置的 Node.js Web 服务器来渲染用 Vue.js 编写的页面,可以使用。确保在启动 Electron 应用之前,您已经构建了 Vue 应用(例如运行。方案二:手动下载electron对应的版本包,放在。在您的项目中创建一个新的文件,例如。文件夹,包含生产环境的静态文件。在主进程中,启动该服务器,并在。(直接将zip压缩包放进去) 阅读详情

1. 新建一个Vue项目

        新建一个vue项目,或者在已经写好的vue项目上操作

2. 安装依赖包

        需要安装的包有2个

        electron

        electron-builder

        安装失败的,可看另外一篇解决方法https://blog.youkuaiyun.com/Anorry/article/details/144061069?spm=1001.2014.3001.5501

3. 在项目根目录创建文件夹,存放文件

在根目录新建 electron 文件夹,文件夹下存放两个文件:main.js(主进程)、preload.js(渲染进程)

main.js

const { app, BrowserWindow, Menu } = require("electron");
const path = require("path");
const NODE_ENV = process.env.NODE_ENV;
 
function createWindow() {
  Menu.setApplicationMenu(null);
  // 创建浏览器窗口
  const mainWindow = new BrowserWindow({
    show: false,
    minWidth: 1440,
    minHeight: 900,
    webPreferences: {
      partition: String(+new Date()),
      preload: path.join(__dirname, "preload.js"),
    },
  });
  mainWindow.maximize();
  mainWindow.show();
  // 如果是开发环境就把当前运行的web端口做成客户端预览
  // 如果是生产环境就把打包后的index做成客户端预览
  mainWindow.loadURL(
    NODE_ENV === "development"
      ? "http://localhost:8080"
      : `file://${path.join(__dirname, "../dist/index.html")}`
  );
}
 
// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {
  createWindow();
 
  app.on("activate", function () {
    // 通常在 macOS 上,当点击 dock 中的应用程序图标时,如果没有其他
    // 打开的窗口,那么程序会重新创建一个窗口。
    if (BrowserWindow.getAllWindows().length === 0) createWindow();
  });
});
 
// 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此,通常对程序和它们在
// 任务栏上的图标来说,应当保持活跃状态,直到用户使用 Cmd + Q 退出。
app.on("window-all-closed", function () {
  if (process.platform !== "darwin") app.quit();
});

preload.js

window.addEventListener('DOMContentLoaded', () => {
    const replaceText = (selector, text) => {
      const element = document.getElementById(selector)
      if (element) element.innerText = text
    }
  
    for (const dependency of ['chrome', 'node', 'electron']) {
      replaceText(`${dependency}-version`, process.versions[dependency])
    }
  })

4. 在 vite.config.js 内配置

配置基本路径 ./ 防止出现打包后打开页面空白

publicPath: './',
transpileDependencies: true,

5. 在 package.json 内配置入口文件,配置一下运行命令

"main": "electron/main.js",

"electron": "wait-on tcp:8090 && cross-env NODE_ENV=development electron .",

6. 安装两个库

  • cross-env:该库让开发者只需要注重环境变量的设置,而无需担心平台设置
  • wait-on:等待资源,此处用来等待url可访问

为了使项目和electron正常运行,需要先运行项目,使得其开发服务器的url可以正常访问,然后再开启electron去加载url。

此处需要安装两个库

7. 配置electron打包命令和配置项

在前面我们安装了 electron-builder 依赖,所以这里无需安装

把下面代码,放到 package.json 内,与 dependencies 同级

"build": {
    "appId": "com.test",
    "productName": "electron打包测试",
    "copyright": "Copyright © 2023",
    "mac": {
      "category": "public.app-category.utilities",
      "icon": "public/icons/icon.icns"
    },
    "win": {
      
    },
    "nsis": {
      "oneClick": false,
      "allowToChangeInstallationDirectory": true
    },
    "files": [
      "dist/**/*",
      "electron/**/*"
    ],
    "directories": {
      "buildResources": "assets",
      "output": "dist_electron"
    }
  }

"electron:build": "vite build  --mode production && electron-builder",

8. 运行命令 npm run electron:build 打包

打包成功后,会在根目录出现一个 dist_electron 文件夹,文件夹下会有一个 .exe 应用程序

vue后台项目打包成桌面应用程序(.exe) 1、打包成功后的样子。 阅读详情

相关推荐

Vue2项目秒变桌面应用:Electron超简单封装实战指南

Web前端技术已经覆盖了从页面展示到复杂交互的绝大多数场景,但浏览器仍然受限于系统权限和文件访问能力。桌面应用则能直接调用本地资源、离线运行、提供更接近原生的用户体验。Electron作为当前最主流的跨平台桌面开发框架,通过将Chromium与Node.js结合,让前端开发者用熟悉的HTML、CSS和JavaScript就能构建Windows、Linux、macOS应用。在实际工程中,如何将已有的Vue2项目快速封装成桌面客户端,并处理好vue2和vue3区别、依赖安装、打包配置等问题,是很多开发者关心的话

weixin_33391446的博客 314

一步步使用electron把vue打包成客户端

一步步使用electron把vue打包成客户端

weixin_47190975的博客 5476

Electron-vue搭建vue全家桶+Element UI客户端(一)

一、新建项目 1、初始化项目 electron-vue是vue-cli和electron结合的项目,比单独使用vue构建起的electron项目要方便很多. 打开cmd,新建一个项目,我使用的是electron-vue,输入以下命令: vue init simulatedgreg/electron-vue my-project my-project就是我们自己取的项目名。 如果出现下图问题,说明...

u013164503的博客 2万+

electron打包vue项目

创建项目 点击这里 添加electron-builder 1、在项目目录下运行命令:vue add electron-builder 2、electron-builder添加完成后会选择electron版本,直接选择最新版: electron下载失败 vue add electron-builder下载electron会下载失败,使用淘宝镜像下载:cnpm i electron 窗体运行 1、下载完成后尝试运行electron窗体:npm run electron:serve 2、窗体运行成功: 打

xi1213的博客 3156

使用 Vue Electron 进行客户端开发

随着互联网的快速发展,越来越多的应用程序需要具备跨平台的能力,能够在不同的操作系统上运行。为了满足这一需求,开发人员可以使用 Vue Electron 来进行客户端应用程序的开发。Vue Electron 结合了 Vue.js 和 Electron 框架的优势,使得开发者可以使用 Vue.js 的组件化开发方式和 Electron 提供的跨平台能力,快速构建出高效、可靠的客户端应用程序。本文将介绍如何使用 Vue Electron 进行客户端开发,并提供相应的源代码示例。

2301_79326616的博客 510

vue+electron将项目打包为exe程序---成功跨过所有坑,完美打包

突然接到公司需求,说客户想让我们把项目直接打包为C/S模式的类型,其实我是不太清楚这是个什么操作,最后经过调查与理解,总结出: exe文件是C/S桌面应用程序, web项目是B/S结构,服务器/客户端程序,它们是两个不同的东西 因此我就开始了将vue项目打包为exe程序的艰难之路~~~~~ 第一步:安装electron 这条路太坎坷了,安装electron的时候出现了各种问题,当我从官网准备将electron用git克隆的时候,出现连接超时,也出现该问题的宝宝可以参考这条:https://blog.

蜗牛~~ 9287

使用Electron把Vue项目打包成桌面客户端

目录预期目标项目准备安装electron-builder调试electron:serve打包electron:build客户端配置 预期目标 本文假定读者已经能够顺利开发Vue(2.x)项目,并期望使用Electron把项目打包成桌面客户端的形式(Windows平台,64位)。 项目准备 确保现有的Vue项目已经能够正常运行并可通过npm run build命令进行编译部署,这里需要注意编译后的资源路径问题。 默认情况下,Vue CLI会假设应用是被部署在一个域名的根路径下,如果是被部署在一个子路径下,则需

般若 3142

将vue项目用electron打包为客户端程序

scripts中新增:“all-build”: “npm run build:pro && electron-builder”,在项目目录下创建electron文件夹,将index.html和main.js放到该目录下。编辑package.json。

qq_39442318的博客 245

vue-cli + electron打包项目成客户端

4.如果想要更改客户端图标和应用名称等信息的话,可以在vue.config.js中配置,以下是部分配置参数。5.接下来就可以使用 npm run electron:build 进行打包了。*这里需要注意的是,图标的尺寸一定要是 256*256 的,否则会报上面的错。以上就是vue-cli + electron打包项目成客户端的全部过程。3.执行npm run electron:serve查看效果。修改完图标尺寸重新执行打包命令,打包成功后的文件夹是这样的。2.添加electron-builder。

mostrichman的博客 1136

拆解歌尔2718硅麦:2.75mm超小封装背后的MEMS技术解析

本文深度解析歌尔2718硅麦的2.75mm超小封装技术,探讨MEMS麦克风在微型化过程中的声学性能与结构可靠性平衡。通过ASIC芯片堆叠、纳米级应力控制等创新技术,歌尔2718在TWS耳机和智能手机中实现卓越性能,同时克服微型化带来的声学挑战。

weixin_28292761的博客 610

信息系统项目管理师(高项)重点!

学习高项自己做的笔记

PanJWei的博客 3301

【已验证】vue-cli3 + electron项目打包成桌面客户端

前言 很多前端项目需要PC端,vue项目打包结合electron非常方便 vue项目及打包就不再多说,一般大家都会将打包好的文件指向dist文件目录,下面就以此条件进行解说 项目安装依赖 npm i -D electron@latest npm i -D electron-packager 打包客户端 在打包vue后的dist文件夹下增加electron.js和package.json electron.js // Modules to control application...

天。朝程序猿的专栏 2425

Debian 11 之使用hostapd与dnsmasq进行AP设置

本文介绍debian 11 系统下,使用hostapd 和 dnsmasq配置无线热点的方法。

xinghaitao2005的博客 1697

关于研究 vue-cli3 + electron vue项目打包成桌面客户端 相关文章链接

Electron+vue的使用 这个文章讲的操作步骤很详细   【已验证】vue-cli3 + electron项目打包成桌面客户端 有代码展示,未操作,还待研究   最后问题? 桌面客户端不是 .exe 吗 怎么搞 .exe 谁能告诉我??? ...

夜阑珊妖妖 532

FastAPI + Layui:打造企业级敏捷开发后台管理系统

本文详细介绍了如何使用FastAPI和Layui构建高效的企业级后台管理系统。FastAPI提供高性能的异步API支持,而Layui则简化了前端开发流程,两者结合可实现快速开发和部署。文章涵盖了从环境搭建、核心组件开发到性能优化的全流程,特别适合需要敏捷开发的企业项目。

weixin_29045585的博客 555

14、多标签分类与卷积神经网络在医学图像处理中的应用

本文探讨了多标签分类与卷积神经网络(CNN)在医学图像处理中的应用。文章详细介绍了多标签分类的概念和挑战,以及如何通过CNN进行高效、准确的分类任务。内容涵盖模型设计、损失函数选择、数据增强技术、类别权重调整等关键技术点,并结合实际案例,如白内障手术工具检测、视网膜血管分割等,展示了CNN在医学图像分析中的强大潜力。此外,还讨论了模型优化策略及面临的挑战与解决方案。

t8u9v0的博客 192

SpringBoot+Vue项目打包成exe,含mysql,redis,nginx,Electron

使用Electron将前后端分离项目打包成桌面端服务,框架涉及SpringBoot,Vue,Nginx,Redis,MySQL,Electron。

qq_42168462的博客 1万+

华为OD机考2025B卷 - 报文响应时间(Java & Python& JS & C++ & C )

华为OD机考2025B卷 - 报文响应时间

算法大师! 8083

electron-build将vue项目打包成windows桌面端可执行程序

在 C:\Users\【你的用户名】\AppData\Local\electron-builder\Cache 中找到winCodeSign和nsis如果没有则创建。win.loadFile为你vue项目打包生成的入口文件)正常结果如下载win-unpacked中存在【项目名】.exe的可执行文件,在资源管理器中点击执行(最好放置在全英文路径下)此时打包的vue项目可在资源管理器中直接点击index.html打开。配置vite.config.js(此处用的是vite)手动下载github上的包。

PlanAPlanB的博客 803

【SpringCloud】5、Spring Cloud Gateway网关路由规则

Spring Cloud Gateway 创建 Route 对象时, 使用 RoutePredicateFactory 创建 Predicate 对象,Predicate 对象可以赋值给 Route。

JACKAL 3万+

YOLO模型从10MB瘦到2MB!剪枝+INT8量化双方案(精度损失<1%,附部署代码)

摘要:本文介绍了一种针对边缘设备的YOLO模型轻量化方案,通过"结构化剪枝+INT8量化"组合技术,将YOLOv8n模型从6.4MB压缩至2MB,体积减少68.75%,推理速度提升80%,同时保持精度损失小于1%。文章详细讲解了剪枝工具选择、通道剪枝实现、量化校准等关键步骤,并提供了完整的代码示例。特别强调了剪枝保留率、校准集使用、微调必要性等实践要点,帮助开发者在树莓派等资源受限设备上实现高效目标检测。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 756

vue 项目打包客户端(简单用法) electron-builder ,nodewebkit

方法一. 使用 nodewebkit 进行打包 1. 下载 nodewebkit ,官网下载即可 2.下载完成,将压缩包解压为文件夹 ,例子:下图 3.新建文件夹,其中需要有两个文件,package.json 文件和index.html 文件 4.将这两个文件打包为.zip格式的压缩包,然后修改压缩包后缀名为.nw。 5.将 步骤4生成的.nw文件复制到 步骤二的nw文件夹中 6. 从nw文件夹进入cmd, 执行命令 copy /b nw.....

weixin_47694910的博客 3347

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

electron + vue 初体验

版本 electron:v11.2.2 vue:2.6 vue-cli:4.5.1 1. 背景 vue项目web端已开发完毕,现需打包一份客户端。 2. 首先进入项目,打开命令行工具 cnpm i -D electron@latest 3. 打开官方示例 地址:https://github.com/electron/electron-quick-start,将其中main.js preload.js 和 renderer.js文件下载到项目根目录 4. 打开ma.

jiangbinwangyi的博客 195

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

vue前端获取不同的客户端mac地址(最详细,避免踩坑)

应用场景:每个账号绑定唯一的电脑可以用网卡的mac地址来做这个唯一的字段。。直接开始教程:找了很多教程,很多都是不全的,要么就是实现不了的,所以整理了一份比较详细的避免踩坑的教程说明我的环境 使用的是基础版开发的node:16.18.1npm: 8.19.2vue:2.6.10electron: 13.0。

qq_52132550的博客 5683

Hexo Blog Client 项目常见问题解决方案

Hexo Blog Client 项目常见问题解决方案 1. 项目基础介绍和主要编程语言 Hexo Blog Client 是一个跨平台的 Hexo 博客管理客户端,基于 Electron 和 Vue.js 开发。该项目提供了一种便捷的方式来管理 Hexo 博客,包括文章的增删改查、本地预览、文章置顶等功能。主要编程语言包括 JavaScript、HTML、CSS 以及 Vue.js。 2. 新手...

gitblog_01027的博客 380

Electron + Vue3 开发桌面应用

Electron + Vue3 开发桌面应用

Hyung的博客 4万+
上一篇: 安装 electron 依赖报错
下一篇: electron打包为exe应用程序时打开控制台
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值