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

 

 在文件夹中双击打开

相关内容

热门资讯

2分钟德州透视挂!hhpoke... 2分钟德州透视挂!hhpoker开挂教程,德州透视插件,详细教程(有挂功能)1、完成德州透视插件透视...
九分钟开辅助!wepoker辅... 九分钟开辅助!wepoker辅助软件价格(透视底牌)详细辅助程序(本来是真的有挂)1、任何wepok...
9分钟透视插件!hh poke... 9分钟透视插件!hh poker软件,hhpoker是正品吗,详细教程(有挂智能)1、hh poke...
7分钟插件辅助!wepoker... 7分钟插件辅助!wepoker买钻石有用吗(透视底牌)详细辅助插件(果然是有挂)7分钟插件辅助!we...
八分钟作弊实战!hhpoker... 八分钟作弊实战!hhpoker脚本,hhpoker辅助靠谱吗,详细教程(有挂安装)1、完成hhpok...
二分钟苹果版!wepoker有... 二分钟苹果版!wepoker有辅助器吗(透视底牌)详细辅助免费(切实真的是有挂)1、点击下载安装,插...
八分钟破解工具!德州透视hhp... 八分钟破解工具!德州透视hhpoker,hh poker辅助器先试用,详细教程(有挂插件)1、该软件...
二分钟作弊!wepoker私人... 二分钟作弊!wepoker私人局可以透视(透视底牌)详细辅助作弊器(本来真的有挂);暗藏猫腻,小编详...
五分钟外挂!德扑HHpoker... 五分钟外挂!德扑HHpoker有挂吗(透视脚本)详细辅助助手(确实真的是有挂)1、任何ai辅助神器的...
5分钟新号!wepoker透视... 5分钟新号!wepoker透视器免费(透视底牌)详细辅助外挂(确实是真的有挂)1、打开软件启动之后找...