vue 如何使用Electron 模块

发布于 2022-09-06 07:33:11 字数 1027 浏览 8 评论 0

官方demo是

const BrowserWindow = require('electron').remote.BrowserWindow
const newWindowBtn = document.getElementById('frameless-window')

const path = require('path')

newWindowBtn.addEventListener('click', function (event) {
  const modalPath = path.join('file://', __dirname, '../../sections/windows/modal.html')
  let win = new BrowserWindow({ frame: false })
  win.on('close', function () { win = null })
  win.loadURL(modalPath)
  win.show()
})

但是实际怎么加呢? 我把const转为import from的方式导入到需要的页面提示fs模块找不到,webpack配置跳过检测但是Electron会报错。

import BrowserWindow from 'BrowserWindow'
import path  from 'path'
methods: {
    click() {
        const BrowserWindow = BrowserWindow.remote.BrowserWindow
        const modalPath = path.join('file://', __dirname,'../../sections/windows/modal.html')
        let win = new BrowserWindow({ frame: false })
        win.on('close', function () { win = null })
        win.loadURL(modalPath)
        win.show()
    }
}

就是添加一个关闭窗口的按钮

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜还是长夜 2022-09-13 07:33:11

在需要的vue页面中添加

  if (window.require) {
    var ipc = window.require('electron').ipcRenderer
  }

方法里添加

if (window.require) {
    ipc.send('close');
  }

原因:直接require会导致提示找不到fs模块,需要使用window.require,但是在Chrome环境中提示window.require not function所以需要做一次判断
在Electron的main.js里添加

const ipc = require('electron').ipcMain
ipc.on('close', e => mainWindow.close());
2022-09-13 07:33:11

window.require 在vue里面显示undefined 我没有用electron-vue 请问这个怎么处理

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文