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路由指定的组件页面

相关推荐
RoyLin4 分钟前
TypeScript设计模式:策略模式
前端·后端·typescript
brzhang14 分钟前
为什么说低代码谎言的破灭,是AI原生开发的起点?
前端·后端·架构
小桥风满袖1 小时前
极简三分钟ES6 - ES9中字符串扩展
前端·javascript
小Wang1 小时前
npm私有库创建(docker+verdaccio)
前端·docker·npm
用户73087011793081 小时前
Vue中集成文字转语音:使用Web Speech API实现功能
前端
李重楼1 小时前
前端性能优化之 HTTP/2 多路复用
前端·面试
yanessa_yu1 小时前
全屏滚动网站PC端自适应方案
前端
RoyLin1 小时前
TypeScript设计模式:桥接模式
前端·后端·typescript
火星开发者2 小时前
Vue中实现Word、Excel、PDF预览的详细步骤
前端
brzhang2 小时前
干翻 Docker?WebAssembly 3.0 的野心,远不止浏览器,来一起看看吧
前端·后端·架构