electron 菜单栏打开指定url页面菜单 可以是本地URL也可以是远程的URL 自动判断跳转
以下代码可以在主进程main.js里面也可以是在独立的模块文件里面
const { BrowserWindow } = require('electron');//定义窗口加载URL
export const winURL = process.env.NODE_ENV === 'development' ? `http://localhost:${process.env.PORT}/` : `file://${__dirname}/index.html`const menu = [{label: '开始',submenu: [{label: '返回首页',accelerator: 'CommandOrControl+H',//快捷键ctrl+hrole: 'home',click:()=>goToUrl('/')},{label: '退出',accelerator: 'CmdOrCtrl+F4',role: 'close'}]}
]/*** URL跳转 支持本地URL和远程URL跳转* 注意 如果是VUE项目,本地URL的路由需要使用 hash路由* @author tekintian@gmail.com* @param {要跳转的URL地址} url*/function goToUrl(url) {const currentWindow = BrowserWindow.getFocusedWindow();// 自动判断是本地URL还是远程URLconst _url = url.startsWith('http')? url : `${winURL}#${url}`currentWindow.loadURL(`${_url}`)}
// 载入菜单
const menuconfig = Menu.buildFromTemplate(menu)
Menu.setApplicationMenu(menuconfig)