Vite + TS + Electron 环境部署

488 字
2 分钟
Vite + TS + Electron 环境部署

安装环境

npm create vite@latest my-vue-app -- --template vue-ts
npm install
npm install electron -D
npm install electron-builder -D
npm install electron-devtools-installer -D
npm install vite-plugin-electron -D
npm install rimraf -D
npm install
npm audit fix --force

初始化electron

初始化electron主程序
// electron-main/index.ts
import { app, BrowserWindow } from "electron";
import path from "path";

const createWindow = () => { const win = new BrowserWindow({ webPreferences: { contextIsolation: false, // 是否开启隔离上下文 nodeIntegration: true, // 渲染进程使用Node API preload: path.join(__dirname, ”../electron-preload/index.js”), // 需要引用js文件 }, });

// 如果打包了,渲染index.html if (app.isPackaged) { win.loadFile(path.join(__dirname, ”../index.html”)); } else { let url = “http://localhost:3000”; // 本地启动的vue项目路径 win.loadURL(url); } };

app.whenReady().then(() => { createWindow(); // 创建窗口 app.on(“activate”, () => { if (BrowserWindow.getAllWindows().length === 0) createWindow(); }); });

// 关闭窗口 app.on(“window-all-closed”, () => { if (process.platform !== “darwin”) { app.quit(); } });

初始化electron前置加载程序
//electron-preload/index.ts
import os from "os";
console.log("platform", os.platform());
修改ts监听程序
"include": [
  "src/**/*.ts",
  "src/**/*.d.ts",
  "src/**/*.tsx",
  "src/**/*.vue",
  "electron-main/**/*.ts",
  "electron-preload/**/*.ts"
],
修改vits配置文件
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";

import * as path from “path”; import electron from “vite-plugin-electron”; import electronRenderer from “vite-plugin-electron/renderer”; import polyfillExports from “vite-plugin-electron/polyfill-exports”;

export default defineConfig({ plugins: [ vue(), electron({ main: { entry: “electron-main/index.ts”, // 主进程文件 }, preload: { input: path.join(__dirname, ”./electron-preload/index.ts”), // 预加载文件 }, }), electronRenderer(), polyfillExports(), ], build: { emptyOutDir: false, // 默认情况下,若 outDir 在 root 目录下,则 Vite 会在构建时清空该目录 }, });

修改package信息
{
  "name": "my-vue-app",
  "private": true,
  "version": "0.0.0",
  "main": "dist/electron-main/index.js",
  "scripts": {
    "dev": "vite",
    "build": "rimraf dist && vite build && electron-builder",
    "preview": "vite preview"
  },
  "dependencies": {
    "vue": "^3.2.25"
  },
  "devDependencies": {
    "@vitejs/plugin-vue": "^2.3.3",
    "electron": "^19.0.0",
    "electron-builder": "^23.0.3",
    "electron-devtools-installer": "^3.2.0",
    "rimraf": "^3.0.2",
    "typescript": "^4.5.4",
    "vite": "^2.9.9",
    "vite-plugin-electron": "^0.4.5",
    "vue-tsc": "^0.34.7"
  }
}
打包需要添加的package信息
{
  ......
  "build": {
    "appId": "com.smallpig.desktop",
    "productName": "smallpig",
    "asar": true,
    "copyright": "Copyright © 2022 smallpig",
    "directories": {
      "output": "release/${version}"
    },
    "files": [
      "dist"
    ],
    "mac": {
      "artifactName": "${productName}_${version}.${ext}",
      "target": [
        "dmg"
      ]
    },
    "win": {
      "target": [
        {
          "target": "nsis",
          "arch": [
            "x64"
          ]
        }
      ],
      "artifactName": "${productName}_${version}.${ext}"
    },
    "nsis": {
      "oneClick": false,
      "perMachine": false,
      "allowToChangeInstallationDirectory": true,
      "deleteAppDataOnUninstall": false
    },
    "publish": [
      {
        "provider": "generic",
        "url": "http://127.0.0.1:8080"
      }
    ],
    "releaseInfo": {
      "releaseNotes": "版本更新的具体内容"
    }
  }
}
执行打包
npm run build

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Vite + TS + Electron 环境部署
https://www.rwr.ink/index.php/2023/11/07/vite-ts-electron-环境部署/
作者
JMFANS
发布于
2023-11-07
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
Hello, Cactus!
未分类Node.Js安装与配置 Linux Windows Hexo安装与配置 安装Hexo Hexo配置 Cactus安装与配置 安装Cactus Cactus配置 Node.Js安装与配置 Linux Nvm安装 # 以下操作基于Debian或Ubuntu等发行版 $ sudo apt install curl #安装curl $ curl -o- https
2
网络技术笔记
未分类防火墙访问模式 非特权模式 特权模式 配置模式:系统镜像更新、口令恢复 监视模式 入侵防护系统 基于主机的防护系统:安装在主机内 基于网络的防护系统:安装在网络出口处 应用入侵防护系统:安装在应用服务器前端 可信计算机评估准则 C级:自主保护类型--用户能定义访问控制要求 网络攻击 SYN Flooding:利用TCP三次握手 网络信息查询 ipconfig
3
Brooks MAGNATRAN® LEAP™ 编程手册
未分类Brooks MAGNATRAN® LEAP™ 编程手册 基于官方文档编写 《238485 Leap Manual REV G》— 硬件与用户手册(263页) 《278805 MAGNATRAN® LEAP™ Software Manual REV E》— 软件编程手册(278页) 文档版本 : 综合整理版 v1.0 | 适用固件 : V8.2.x 系列 |
4
Debian 13 新装
未分类Debian 13 (Trixie) 完整自动化配置文档 文档说明 本文档汇总了 Debian 13 系统的完整配置流程,包含系统更新、网络加速、安全防护、开发环境和 Shell 美化等所有功能。 执行顺序 : 从上到下依次执行各代码块 一、系统更新与基础优化 #!/bin/bash # Debian 13 系统全面更新与基础配置 # 1.1 更新软件源并升
5
模糊PID控制加热器系统仿真
未分类模糊PID控制加热器系统仿真 目录 模糊PID控制加热器系统仿真 目录 引言 系统概述 数学模型 隶属度函数 S形函数 Z形函数 三角形函数 模糊PID控制器 模糊化 规则库 解模糊 PID控制器 加热器系统动力学 Smith预估器 仿真流程 性能指标 用户界面 结论 附件 引言 本文提供了由自适应模糊PID控制器和Smith预估器控制的加热器系统仿真模型的
随机文章随机推荐
Profile Image of the Author
JMFANS
电气工程师,记录技术、学习和生活。
公告
记录工程实践、学习笔记与长期积累。
分类
标签
站点统计
文章
14
分类
1
标签
5
总字数
105,433
运行时长
0 天
最后活动
0 天前

当前页面没有目录

文章目录

当前页面没有目录