1.首先在background.js中利用ipcMain创建,首先引用

import { app, BrowserWindow, ipcMain } from 'electron'

2.在background.js里创建一个function

let newWindow  //在顶部定义一个变量

const winURL = process.env.NODE_ENV === 'development'
  ? `http://localhost:8080` // 开发路径
  : `file://${__dirname}/index.html` //生产路径

function jiuCuo() {    //在下面定义一个函数
  ipcMain.on('create-new-window', () => {  //'create-new-window'随便命名,用于打开窗口
    if (newWindow) {
      newWindow.focus() // 存在 则聚焦
      return
    }
    newWindow = new BrowserWindow({
      width: 1107, //窗口宽高
      height: 603,
      title: '交换机路由器脚本自动配置工具-纠错',
      closable: true,
      resizable: false,//禁止窗口随意拉伸
      webPreferences: {
        nodeIntegration: true,
        contextIsolation: false,
        enableRemoteModule: true,
      }
    })
    newWindow.loadURL(winURL + '#/about')
    newWindow.on('closed', () => {
      newWindow = null
    })
  })
}


app.on('ready', async () => {    //这个监听是background.js自带的
  if (isDevelopment && !process.env.IS_TEST) {
    // Install Vue Devtools
    try {
      await installExtension(VUEJS3_DEVTOOLS)
    } catch (e) {
      console.error('Vue Devtools failed to install:', e.toString())
    }
  }
  createWindow()
  jiuCuo()   //在此处调用
  
})

注意:create-new-window用于渲染进程(就是前端代码)用来发送这个字段,触发create-new-window窗口。

3.在渲染进程里,background.js是主进程,引用ipcRenderer

  

第一种引入方式:import { ipcRenderer} from 'electron';


第一种方式有时会报错。

第二种引入方式:const { ipcRenderer } = require("electron");

使用第二种方式报错的话就需要在vue.config里配置


在methods里定义一个点击事件
methods:{
   clickd(){

   ipcRenderer.send('create-new-window')


   }


}
//vue.config



const { defineConfig } = require("@vue/cli-service");

module.exports = defineConfig({
 
  transpileDependencies: true,
  lintOnSave: false,
  pluginOptions: {
    electronBuilder: {
      nodeIntegration: true,   //用于打开允许node模块使用
      customFileProtocol: "./", //用于解决打包后背景图不显示
    },
  },

});

background.js接收到后窗口就出现了。

GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐