3-Electron打开新窗口,并跳转到指定的路由

需要配置路由。src/router/index.js

复制代码
    {
      path: "/selectMode",
      name: "selectMode",
      component: () => import("/@/view/selectMode/index.vue"),
    },

src/**.vue

复制代码
import { ipcRenderer } from "electron";

const openNewTab = () => {
  let params = {
    url: "/selectMode", // 路由path
  };
  ipcRender.send("openNewTab", params);
};

electron/index.ts

复制代码
let nweTab
// 打开新窗口
ipcMain.on("openNewTab", async (event, arg) => {
  newTab = new BrowserWindow({
    width: 1400,
    height: 800,
    webPreferences: {
      // preload: path.join(__dirname, "preload.js"),
      nodeIntegration: true,
      contextIsolation: false,
      webSecurity: false, // 禁用同源策略,允许跨域
    },
  });

  if (process.env.VITE_DEV_SERVER_URL) {
    newTab.loadURL(url + "#" + arg.url);
    // newTab.loadURL(`http://localhost:3000/#/file_preview`)
    newTab.webContents.openDevTools();
  } else {
    newTab.loadFile("dist/index.html", {
      hash: arg.url
    });
    // newTab.loadFile("dist/index.html", {
      hash: "/file_preview"
    })
    newTab.webContents.openDevTools();
  }
});

相关链接:electron实现打开子窗口,窗口加载vue路由指定的组件页面

相关推荐
我要让全世界知道我很低调7 分钟前
记一次 Vite 下的白屏优化
前端·css
1undefined29 分钟前
element中的Table改造成虚拟列表,并封装成hooks
前端·javascript·vue.js
paopaokaka_luck32 分钟前
基于SpringBoot+Vue的非遗文化传承管理系统(websocket即时通讯、协同过滤算法、支付宝沙盒支付、可分享链接、功能量非常大)
java·数据库·vue.js·spring boot·后端·spring·小程序
蓝倾44 分钟前
淘宝批量获取商品SKU实战案例
前端·后端·api
comelong1 小时前
Docker容器启动postgres端口映射失败问题
前端
花海如潮淹1 小时前
硬件产品研发管理工具实战指南
前端·python
用户3802258598241 小时前
vue3源码解析:依赖收集
前端·vue.js
WaiterL1 小时前
一文读懂 MCP 与 Agent
前端·人工智能·cursor
gzzeason1 小时前
使用Vite创建React初始化项目
前端·javascript·react.js
又双叒叕7781 小时前
React19 新增Hooks:useOptimistic
前端·javascript·react.js