Electron+Vue3整合 - 开发时状态整合

ops/2024/9/24 7:20:51/

说明

本文介绍一下 Electron + Vue3 的整合的基本操作。实现的效果是 :
1、一个正常的Vue3项目;
2、整合加入 Electron 框架 :开发时 Electron 加载的是开发的vue项目;

vue3>vue3_10">步骤一:创建vue3>vue3项目

常规操作,不再赘述。

# 创建项目
npm create vue@latest# 进入到项目目录
cd <your project dir># 安装依赖
npm install# 启动访问
npm run dev

正经的vue项目启动成功!

在这里插入图片描述

此时的项目目录结构如下:是一个标准的vue3>vue3的项目结构

projectName| -- node_modules     # 依赖包的位置| -- public                   # 一些静态资源| -- src                       # 源文件目录| -- .gitignore             # git忽略配置文件 | -- env.d.ts            | -- index.html           # vue主页面| -- package.json      # 项目配置文件| -- tsconfig.json       # typescript 配置文件| -- vite.config.ts       # vite 配置文件

步骤二 :引入Electron

1、安装Electron

# 安装Electron
npm install --save-dev electron

electron_51">2、项目根目录下创建一个electron的工作目录

# 进入到项目的根目录
cd <your project name># 创建electron目录
mkdir electron

electron_electronMainjs__60">3、在electron目录下创建主进程 electronMain.js 文件

主要干了两个事儿 : 1.创建主窗口;2.加载vue的页面进来。

/*** electron 的主进程*/
// 导入模块
const { app, BrowserWindow  } = require('electron')// 创建主窗口
const createWindow = () => {const win = new BrowserWindow({width: 800,height: 600,})// 加载当前vue 的地址win.loadURL('http://localhost:5173')}// 应用准备就绪,加载窗口
app.whenReady().then(() => {createWindow()// mac 上默认保留一个窗口app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) createWindow()})console.log('--- app ready ---')
})// 关闭所有窗口 : 程序退出 : windows & linux
app.on('window-all-closed', () => {if (process.platform !== 'darwin') app.quit()
})

4、修改package.json 文件内容

主要是 :
1.配置 electron 的启动文件;
2.配置 vue项目的启动脚本;
3.配置electron的启动脚本。
4.删除文件中的 type:“module” 行,否则会有一个警告!

{// 其他的基础配置....."main": "electron/electronMain.js",  // 指定 electron 的主进程文件"scripts": {"dev:vue": "vite",  // 指定 vue 启动脚本"dev:electron":"electron .",  // 指定 electron 启动脚本......},// ......
}

至此,项目目录如下 :

projectName| -- electron               # 【新增的electron的主目录】| -- electronMain.js | -- node_modules     # 依赖包的位置| -- public                   # 一些静态资源| -- src                       # 源文件目录| -- .gitignore             # git忽略配置文件 | -- env.d.ts            | -- index.html           # vue主页面| -- package.json      # 项目配置文件| -- tsconfig.json       # typescript 配置文件| -- vite.config.ts       # vite 配置文件

步骤三:启动项目

注意 : 因为我们是两个服务,所以,我们需要在两个独立的 命令行中分别启动项目。

vue_140">1.启动vue

npm run dev:vue

页面独立访问:ok!

在这里插入图片描述

electron_149">2.启动electron

npm run dev:electron

启动的app中也成功加载页面,且是热更新的。

在这里插入图片描述

至此 vue3>vue3 + electron 的 开发时的基础整合步骤就完成了。


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

相关文章

02 - ArcGIS For JavaScript-矢量数据的符号化处理(Symbol)

文章目录 综述Symbol的分类Point的符号化Point符号化为二维几何&#xff1a;Point位图符号化&#xff1a;Point的三维结合符号化Point 符号化为GLTF模型 PolylineSymbol-线符号化基本样式管道样式墙体样式条带样式方管样式 PolygonSymbol-面符号化水面效果拉伸效果填充效果 Mes…

为什么科拓停车选择OceanBase来构建智慧停车SaaS应用

本文来自OceanBase的客户——拓客停车的实践分享 科拓停车简介与业务背景 作为智慧停车行业的佼佼者&#xff0c;科拓停车致力于提供全方位的智慧停车解决方案。服务涵盖车场运营管理、互联网智慧停车平台以及停车场增值服务等。通过不断研发创新&#xff0c;打造出了多样化的…

sample gpt 无限长上下文

参考地址 https://aistudio.baidu.com/projectdetail/7723195 import mathimport paddle import paddle.nn as nn import paddle.nn.functional as Fclass MaskMultiHeadAttention(nn.Layer):def __init__(self, hidden_size, num_heads):super(MaskMultiHeadAttention, self…

三、CPU基础-缓存

计算机中缓存一般分为两个部分 1.内存 2.CPU Cache 一、CPU Cache分级 CPU Cache 通常分为大小不等的三级缓存&#xff0c;分别是 L1 Cache、L2 Cache 和 L3 Cache。 L1 Cache 和 L2 Cache 都是每个 CPU 核心独有的&#xff08;通常会分为「数据缓存」和「指令缓存」&#…

idea错误地commit后如何处理

如果你想使用命令行重新初始化 Git 仓库&#xff0c;可以按照以下步骤进行&#xff1a; 删除该项目的.git文件夹 打开命令行终端。 切换到项目所在的目录&#xff0c;使用 cd 命令。 在项目目录下运行以下命令来重新初始化 Git 仓库 git init这将在当前目录下创建一个新的 Git …

【性能测试】接口测试各知识第4篇:Jmeter 八大元件及执行顺序,学习目标【附代码文档】

接口测试完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;接口测试&#xff0c;学习目标学习目标,2. 接口测试课程大纲,3. 接口学完样品,4. 学完课程,学到什么,5. 参考:,1. 理解接口的概念。学习目标&#xff0c;RESTFUL1. 理解接口的概念,2.什么是接口测试…

Spring Boot集成fastdfs快速入门Demo

1.什么是fastdfs FastDFS 是一个开源的高性能分布式文件系统&#xff08;DFS&#xff09;。它的主要功能包括&#xff1a;文件存储&#xff0c;文件同步和文件访问&#xff0c;以及高容量和负载平衡。主要解决了海量数据存储问题&#xff0c;特别适合以中小文件&#xff08;建议…

SS3D翻译

SS3D AbstractIntroductionRelated WorkFully-Supervised 3D Object DetectionWeakly/Semi-Supervised 3D Object DetectionSparsely-Supervised 2D Object Detection MethodOverall FrameworkArchitecture of DetectorMissing-Annotated Instance Mining Module 缺失注释实例挖…