环境:
"electron": "27.1.0",
"@electron-forge/cli": "^7.0.0",
"@electron-forge/maker-squirrel": "^7.0.0",
"@vitejs/plugin-vue": "^4.5.0",
"vue": "^3.3.8",
"vue-router": "^4.2.5"
默认窗口进入vue的hash路由指定页面:
vue的路由使用hash模式
loginWindow = new BrowserWindow({
width: 600,
height: 480,
resizable: false,
webPreferences: {
webSecurity: false, // 禁用同源策略
nodeIntegration: true, // 是否启用Node integration. 默认值为 false
contextIsolation: false, // 是否在独立 JavaScript 环境中运行 Electron API和指定的preload 脚本. 默认为 true
preload: path.join(__dirname, 'preload.js'),
},
icon: 'src/assets/imgs/icon.png',
});
if (MAIN_WINDOW_VITE_DEV_SERVER_URL) {
loginWindow.loadURL(MAIN_WINDOW_VITE_DEV_SERVER_URL + '/#/login');
} else {
loginWindow.loadFile(path.join(__dirname, `../renderer/${MAIN_WINDOW_VITE_NAME}/index.html`), {
hash: '/login', // 第二个参数可以设置hash、query、params
});
}
参考文档:https://www.electronjs.org/zh/docs/latest/api/browser-window#winloadfilefilepath-options