当前位置: 首页 > news >正文

网站怎么做才被收录快自助网站建设程序

网站怎么做才被收录快,自助网站建设程序,免费查询企业联系方式,安防网站模板开发中遇到Electron自定义窗口的问题 使用VUE3 Electron 开发一个音乐软件,自定义导航栏的放大、缩小和关闭。 其中使用ipcRenderer进行联系Electron,进行放大、缩小和关闭操作。 遇到问题 遇到__dirname is not defined in ES module scope //在V…

开发中遇到Electron自定义窗口的问题

使用VUE3 + Electron 开发一个音乐软件,自定义导航栏的放大、缩小和关闭。

其中使用ipcRenderer进行联系Electron,进行放大、缩小和关闭操作。

遇到问题

遇到__dirname is not defined in ES module scope

//在VUE文件中使用
import  ipcRenderer from 'electron';// 会爆出__dirname is not defined in ES module scope的问题
// 原因是__dirname是commonjs规范的内置变量;esm不会注入这个变量
// 解决:删除package.json中的 type:"moudle"

遇到mainWindow is not Defined 和重置窗口没有变化

// 原因:以下代码放置的位置原因,放在了mainWindow作用域外
// 切换全屏事件
ipcMain.on('toggle-full-screen', function() {if (mainWindow.isMaximized()) {// 之前使用的是 mainWindow.restore();mainWindow.unmaximize();} else {mainWindow.maximize();}
});// 最小化窗口事件
ipcMain.on('minimum', function() {mainWindow.minimize();
});

解决方案

electron.js 设置

electron.js : package.json指定的"main": "electron.js "

const { app,ipcMain , BrowserWindow } = require('electron')
const path = require("path")const createWindow = () => {const mainWindow = new BrowserWindow({width: 1200,height: 700,minWidth: 1200,minHeight: 700,frame: false,transparent: true,resizable: false,webPreferences:{nodeIntegration: true, // 是否允许在页面中使用节点js 通信需要contextIsolation: true, // 不启用上下文隔离 通信需要enableRemoteModule: true, // 允许使用 remote 模块preload:path.join(__dirname, 'preload.js'),}})mainWindow.loadURL("http://localhost:5173/");// 下面两个事件需要在createWindow内,在外面会报mainWindow is not definedipcMain.on('toggle-full-screen', function() {  // 切换全屏事件if (mainWindow.isMaximized()) {mainWindow.unmaximize();} else {mainWindow.maximize();}});ipcMain.on('minimum', function() {  // 最小化窗口事件mainWindow.minimize();});
}app.whenReady().then(() => { // 在应用准备就绪时调用函数createWindow()
})
ipcMain.on('closeProgram', () => { // 关闭程序app.quit();
});

新建 preload.js

const { contextBridge, ipcRenderer } = require('electron')contextBridge.exposeInMainWorld('ipcRenderer', {send: (channel, data) => {let validChannels = ['toggle-full-screen','minimum','closeProgram'] // 配置合法消息名if (validChannels.includes(channel)) {ipcRenderer.send(channel, data)}},receive: (channel, func) => {let validChannels = ['toggle-full-screen','minimum','closeProgram']// 配置合法监听事件名称if (validChannels.includes(channel)) {ipcRenderer.on(channel, (event, ...args) => func(...args))}}
})alert('1')//没弹窗就是失败了 成功后删除

VUE文件中使用

<script>
export default {methods: {minimizeWin(){ // 通知主进程我要进行窗口最小化操作window.ipcRenderer.send('minimum','');// console.log('minimizeWin');},maximizeWin(){  // 通知主进程我要进行窗口最大化操作window.ipcRenderer.send('toggle-full-screen','');// console.log('maximizeWin');},closeWin(){  // 通知主进程我要进行窗口关闭操作//返回一个所有已经打开了窗口的对象数组window.ipcRenderer.send('closeProgram','');// console.log('closeWin');}}
}
</script><template><el-row class="row-head" ><!-- 最小化 --><el-button type="button" class="btn btn-primary" id="minimizeWin" @click="minimizeWin"   style="height: 40px; width: 20%;"></el-button><!-- 最大化 --><el-button type="button" class="btn btn-primary" id="maximizeWin" @click="maximizeWin"  style="height: 40px; width: 20%;"></el-button><!-- 关闭 --><el-button type="button" class="" id="closeWin" @click="closeWin"  style="height: 40px;width: 20%;"></el-button></el-row>
</template>

参考

vite+vue3+electron踩坑记录ipcRenderer通信,vue-router打包白屏问题

http://www.yayakq.cn/news/253249/

相关文章:

  • 衡水网站建设知识对网站排名没有太大影响的因素
  • 昊杰南宫网站建设成都的汽车网站建设
  • 公司网站建设方法预测2025年网络营销的发展
  • 网站的死链vps网站目录权限设置
  • 视频网站开发前景安徽网站推广营销设计
  • 云南照明网站建设wordpress怎么关闭网站
  • 做兼职拍照片传网站番禺网络公司
  • 百度的网站域名dz门户网站模板
  • 网站建设制作设计六安网站建设电话
  • 购物网站建设过程网站建设人员考核
  • 什么是营销型网站建设济南刚刚发生的大事
  • 巴中移动网站建设石家庄市里的网站公司
  • 网站不被搜索引擎收录吗wordpress必须安装php
  • 怎么做微信小说网站高端网站设计公司排行榜
  • 网站建设 用英文怎么说门店管理系统推荐
  • 网站制作中企动力公司备案期间网站要关闭吗
  • 申请一个网站需要怎么做岫岩网站建设
  • 合肥的网站建设公司培训网站建设方案说明书
  • 深圳建设网官方网站学网站建设学校
  • 东莞网站策划android开发工具哪个好
  • 私人怎么做网站成品网站w灬源码伊甸3m8u
  • 学生模拟网站开发项目展厅设计的主题
  • 平台建站建设seo推广外包企业
  • 网站建设销售中遇到的问题网络优化的工作内容有哪些
  • 建设农产品网络营销网站简约大气风格网站模板
  • 网站建站报价智慧团建初始密码
  • 在线制作网站的平台做影视外包的网站
  • 自己做网站能否赚钱6拉企业做网站好干吗
  • 开网站买自己做的东西建设企业网站公司在哪里
  • 农特产品网站建设合同模板企业网站开发项目策划书基本框架