vue3+ts+vite+electron+electron-packager打包成exe文件
创始人
2024-12-16 05:05:46
0

目录

1、创建vite项目

2、添加需求文件

3、根据package.json文件安装依赖

4、打包

5、electron命令运行

6、electron-packager打包成exe文件


 Build cross-platform desktop apps with JavaScript, HTML, and CSS | Electron

1、创建vite项目

npm create vite@latest

2、添加需求文件

根目录下新建main.js

// main.js  // Modules to control application life and create native browser window const { app, BrowserWindow } = require('electron') const path = require('node:path')  const createWindow = () => {   // Create the browser window.   const mainWindow = new BrowserWindow({     width: 800,     height: 600,     webPreferences: {       preload: path.join(__dirname, 'preload.js')     }   })    // 加载 index.html   mainWindow.loadFile('./dist/index.html')    // 打开开发工具   // mainWindow.webContents.openDevTools() }  // 这段程序将会在 Electron 结束初始化 // 和创建浏览器窗口的时候调用 // 部分 API 在 ready 事件触发后才能使用。 app.whenReady().then(() => {   createWindow()    app.on('activate', () => {     // 在 macOS 系统内, 如果没有已开启的应用窗口     // 点击托盘图标时通常会重新创建一个新窗口     if (BrowserWindow.getAllWindows().length === 0) createWindow()   }) })  // 除了 macOS 外,当所有窗口都被关闭的时候退出程序。 因此, 通常 // 对应用程序和它们的菜单栏来说应该时刻保持激活状态,  // 直到用户使用 Cmd + Q 明确退出 app.on('window-all-closed', () => {   if (process.platform !== 'darwin') app.quit() })  // 在当前文件中你可以引入所有的主进程代码 // 也可以拆分成几个文件,然后用 require 导入。

根目录下新建preload.js文件 

// preload.js  // 所有的 Node.js API接口 都可以在 preload 进程中被调用. // 它拥有与Chrome扩展一样的沙盒。 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])   } })

 vite.config.js中配置修改

// vite.config.ts import { defineConfig } from "vite"; import vue from "@vitejs/plugin-vue"; import path from "path";  export default defineConfig({   base: "./", // 设置公共路径为相对路径,   plugins: [vue()],   resolve: {     alias: {       "@": path.resolve(__dirname, "src"),     },   }, }); //不设置路径,页面空白,提示找不到资源

 直接在package.json中添加缺少数据,或者根据缺失依赖逐个添加

//package.json {   "name": "my-electron-app",   "version": "1.0.0",   "description": "Hello World!",   "main": "main.js",   "author": "Jane Doe",   "license": "MIT",   "scripts": {     "dev": "vite",     "start": "electron .",     "build": "vite build",     "preview": "vite preview",     "electron:serve": "vite build & electron . ",     "packager": "electron-packager ./ App --platform=win32 --arch=x64 --overwrite"   },   "dependencies": {     "vue": "^3.4.29"   },   "devDependencies": {     "@vitejs/plugin-vue": "^5.0.5",     "electron": "^31.2.0",     "electron-packager": "^17.1.2",     "typescript": "^5.2.2",     "vite": "^5.3.1",     "vue-tsc": "^2.0.21"   } } 
3、根据package.json文件安装依赖

yarn 

4、打包

yarn build

5、electron命令运行

yarn start

6、electron-packager打包成exe文件

 yarn packager

 

 在文件夹中双击打开

相关内容

热门资讯

分享开挂!雷霆辅助器,wepo... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
了解辅助!欢乐达人猜猜乐友挂吗... 了解辅助!欢乐达人猜猜乐友挂吗,wpk辅助插件,微扑克教程(有挂秘笈)-哔哩哔哩《详细加薇13670...
正品辅助!乐达app辅助,uu... 正品辅助!乐达app辅助,uupoker有透视吗,必胜教程(果真有挂)-哔哩哔哩>>您好:软件加13...
分享辅助!娱网皮球茶馆脚本,扑... 分享辅助!娱网皮球茶馆脚本,扑克之星辅助,透视教程(真的有挂)-哔哩哔哩《详细加薇136704302...
科技开挂!九九山城插件程序,w... 科技开挂!九九山城插件程序,wepoker破解器激活码,详细教程!(有人有挂)-哔哩哔哩 了解更多开...
正品开挂!中至窝龙辅助,wpk... 正品开挂!中至窝龙辅助,wpk辅助器,普及教程(有挂秘籍)-哔哩哔哩1、下载安装好中至窝龙辅助,进入...
必看开挂!樱花之盛微信辅助,w... 必看开挂!樱花之盛微信辅助,wepoker免费透视,黑科技教程(有挂解密)-哔哩哔哩 【无需打开直接...
必看开挂!新上游反杀辅助,hh... 必看开挂!新上游反杀辅助,hhpkoer辅助器视频,新2026版(有挂分析)-哔哩哔哩;无需打开直接...
正版辅助!微信超级三加一辅助软... 正版辅助!微信超级三加一辅助软件,佛手在线大菠萝智能辅助器,详细教程(确实有挂)-哔哩哔哩 【无需打...
科技辅助!渝都亲友全辅助,ha... 科技辅助!渝都亲友全辅助,hardrock辅助,分享教程(揭秘有挂)-哔哩哔哩【无需打开直接搜索加薇...