环境:


"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