我使用electron-builder打包的window64项目, 项目可以成功安装和运行,但是在项目卸载时提示如下图的报错。请问我是哪里写的有问题么?
electron的mian.js文件代码如下:
import { app, BrowserWindow } from "electron";
import {fileURLToPath} from "node:url";
import path from "node:path";
// 首先获取当前文件的绝对路径, file路径
const file_url = import.meta.url
// 转化为path路径
const file_url_to_path = fileURLToPath(file_url);
// 通过path.dirname()方法, 获取到当前文件的文件夹地址
const dir_name = path.dirname(file_url_to_path);
const createMainWindow = () => {
const mainWindow = new BrowserWindow({
width: 1200,
height: 600,
show: false,
webPreferences: {
zoomFactor: 2,
// 配置加载preload.js文件路径; 注意该路径必须写绝对路径
preload: path.join(dir_name, 'preload.mjs'),
}
})
// 根据环境变量, 配置主窗口加载的页面路径
if (process.env.NODE_ENV === 'development') {
mainWindow.loadURL(process.env['VITE_DEV_SERVER_URL']);
} else {
mainWindow.loadFile(path.join(dir_name, "./index.html"));
}
// 使用once()方法监听window窗口是否完成准备
mainWindow.once('ready-to-show', () => {
// 完成准备后, 显示首屏界面
mainWindow.show();
})
// 当node环境变量为development时, 调用openDevTools()方法,开启web调试窗口
if (process.env.NODE_ENV == 'development') {
mainWindow.webContents.openDevTools();
}
// 全屏设置
// mainWindow.fullScreen = true;
// electron窗口最大化适配当前屏幕
// mainWindow.maximize()
// 关闭菜单栏
// mainWindow.setMenu(null);
}
app.whenReady().then(() => {
const mainWindow = createMainWindow();
})
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit();
}
});
app.on('activate', () => {
// On OS X it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) {
createMainWindow();
}
});
package.json文件如下:
{
"name": "vite_vue_electron_test2",
"version": "0.0.13",
"private": true,
"type": "module",
"main": "dist/container.js",
"scripts": {
"dev": "vite",
"build": "vite build && electron-builder -mwl",
"preview": "vite preview",
"lint": "eslint . --fix",
"build:win32": "vite build && electron-builder --windows nsis:ia32",
"build:win64": "vite build && electron-builder --windows nsis:x64",
"build:mac": "vite build && electron-builder --mac",
"build:linux": "vite build && electron-builder --linux tar.xz"
},
"dependencies": {
"pinia": "^3.0.1",
"vite-plugin-electron": "^0.29.0",
"vue": "^3.5.13",
"vue-router": "^4.5.0"
},
"devDependencies": {
"@eslint/js": "^9.22.0",
"@vitejs/plugin-vue": "^5.2.3",
"electron": "^36.5.0",
"electron-builder": "^26.0.12",
"eslint": "^9.22.0",
"eslint-plugin-vue": "~10.0.0",
"globals": "^16.0.0",
"vite": "^6.2.4",
"vite-plugin-vue-devtools": "^7.7.2"
}
}
electron-builder.json5文件如下:
{
"appId": "com.vite_vue_electron_test2",
"productName": "测试开发软件",
"directories": {
"output": "output/${version}",
},
"files": [
"dist"
],
"win": {
"target": [
{
"target": "nsis",
"arch": [
"x64",
"ia32"
]
}
],
"requestedExecutionLevel": "asInvoker"
},
"nsis": {
"oneClick": false,
"allowElevation": true,
"allowToChangeInstallationDirectory": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"shortcutName": "测试开发软件",
"uninstallDisplayName": "卸载测试开发软件",
}
}