主题
electron-vite环境变量设置
在electron.vite.config.js/ts 同级添加env目录
在env目录下添加文件.env.development
sh
M_VITE_ELECTRON_NAME = '主染进程名称-开发环境'
R_VITE_ELECTRON_NAME = '渲染进程名称-开发环境'在env目录下添加文件.env.bate
sh
M_VITE_ELECTRON_NAME = '主染进程名称-测试环境'
R_VITE_ELECTRON_NAME = '渲染进程名称-测试环境'在env目录下添加文件.env.production
sh
M_VITE_ELECTRON_NAME = '主染进程名称-生产环境'
R_VITE_ELECTRON_NAME = '渲染进程名称-生产环境'修改package.json中的scripts
json
"scripts": {
...
"dev": "electron-vite dev --watch --mode development",
"dev:test": "electron-vite dev --watch --mode bate",
"dev:prod": "electron-vite dev --watch --mode production",
"build:dev:win": "npm run build --mode development && electron-builder --win",
"build:dev:mac": "npm run build --mode development && electron-builder --mac",
"build:dev:linux": "npm run build --mode development && electron-builder --linux",
"build:bate:win": "npm run build --mode bate && electron-builder --win",
"build:bate:mac": "npm run build --mode bate && electron-builder --mac",
"build:bate:linux": "npm run build --mode bate && electron-builder --linux",
"build:prod:win": "npm run build --mode production && electron-builder --win",
"build:prod:mac": "npm run build --mode production && electron-builder --mac",
"build:prod:linux": "npm run build --mode production && electron-builder --linux",
...
}- 说明:
- dev:开发环境
- dev:test:测试环境
- dev:prod:生产环境
- build:dev:win:开发环境- windows 平台
- build:dev:mac:开发环境- mac 平台
- build:dev:linux:开发环境- linux 平台
- build:bate:win:测试环境- windows 平台
- build:bate:mac:测试环境- mac 平台
- build:bate:linux:测试环境- linux 平台
- build:prod:win:生产环境- windows 平台
- build:prod:mac:生产环境- mac 平台
- build:prod:linux:生产环境- linux 平台
- scripts命令过多 可以通过脚本控制 这儿就不做演示了
修改electron.vite.config.mjs 中的环境变量
- 在electron.vite.config.mjs 中添加如下代码
js
import { resolve } from "path";
import { defineConfig, externalizeDepsPlugin } from "electron-vite";
import vue from "@vitejs/plugin-vue";
const envDir = resolve("env");
export default defineConfig({
main: {
envPrefix: "M_VITE_",
envDir,
plugins: [externalizeDepsPlugin()],
},
preload: {
plugins: [externalizeDepsPlugin()],
},
renderer: {
envPrefix: "R_VITE_",
envDir,
plugins: [vue()],
},
});在主进程中使用环境变量
js
const MElectronName = import.meta.env.M_VITE_ELECTRON_NAME;在渲染进程中使用环境变量
js
const RElectronName = import.meta.env.R_VITE_ELECTRON_NAME;