vue3+electron桌面端入门记录(更新中)

第一步

像平时一样先创建vue3项目,能正常运行之后进行第二步

第二步

执行vue add electron-builder命令,让vue项目变成一个electron+vue的项目

第三步

修改项目中的background.js文件

const {app, BrowserWindow} = require('electron')
// 创建全局变量并在下面引用,避免被GC
let win
function createWindow () {
    // 创建浏览器窗口并设置宽高
    win = new BrowserWindow(
    { 
    width: 800,
    height: 600,  
    webPreferences: {
      nodeIntegration: true, //开启true这一步很重要,目的是为了vue文件中可以引入node和electron相关的API
      contextIsolation: false,
      enableRemoteModule: true,
    }, })
     ipcMain.on("update", (e, data) => {
       console.log(data);
        e.sender.send("something1", "我是主进程返回的值");
     });
    if (process.env.WEBPACK_DEV_SERVER_URL) {
    // Load the url of the dev server if in development mode
      await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL);
      if (!process.env.IS_TEST) win.webContents.openDevTools();
    } else {
      createProtocol("app");
    // Load the index.html when not in development
       win.loadURL("app://./index.html");
    }
    
    // 打开开发者工具
    win.webContents.openDevTools()
    
    // 添加window关闭触发事件
    
    win.on('closed', () => {
        win = null  // 取消引用
    })
}

// 初始化后 调用函数
app.on('ready', createWindow)  
// 当全部窗口关闭时退出。
app.on('window-all-closed', () => {
   // 在 macOS 上,除非用户用 Cmd + Q 确定地退出,
   // 否则绝大部分应用及其菜单栏会保持激活。
   if (process.platform !== 'darwin') {
        app.quit()
   }
})
  
app.on("activate", () => {
  if (BrowserWindow.getAllWindows().length === 0) createWindow();
});

第四步

创建home.vue

<template>
  <div class="home">
    <div class="box borderCorner">
      <span @click="autoUpdate()">点我进程之间传递参数</span>
    </div>
  </div>
</template>
<script>
import { ipcRenderer } from "electron";
export default {
  name: "About",
  setup() {
    const autoUpdate = () => {
      console.log("更新", process.versions.node);
      ipcRenderer.send("update", "更新...");
    };
    ipcRenderer.on("something1", (event, data) => {
      console.log(data); // 我是主进程返回的值
    });
  },
};
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大笨熊不熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值