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

深圳网站建设联华企业网站改版项目描述

深圳网站建设联华,企业网站改版项目描述,轻量应用服务器搭建网站,长沙百度快照优化排名快速创建基于vue的electron项目:quick-start/create-electron - npm 视图线程也就index.html是无法直接访问这个api的(如果没有开启视图层访问nodejs的功能,现在几乎没法直接开启,开启了一堆警告提示) 所以需要通过r…

快速创建基于vue的electron项目:@quick-start/create-electron - npm

视图线程也就index.html是无法直接访问这个api的(如果没有开启视图层访问nodejs的功能,现在几乎没法直接开启,开启了一堆警告提示)

所以需要通过reload.js方式给index.html视图层注入对应的方法,挂在window对象下面

视图层给后端发起消息如果希望通过then的方式获取结果,推荐使用
ipcRenderer.invoke
如果是同步情况可以使用
ipcRenderer.sendSync
个人建议使用ipcRenderer.invoke
如果是仅仅视图层发起消息,不关注后续处理结果,推荐使用
ipcRenderer.send


主线程处理


他们三个发起消息后,主线程处理的方式是不一样的
ipcRenderer.invoke:

//main.jsconst { ipcMain } = require('electron');ipcMain.handle('message-from-renderer', (event, message) => {console.log('主进程收到消息:', message, "event", event);return "我是主进程的返回值:btn2"});


ipcRenderer.sendSync:

//main.js
const { ipcMain } = require('electron');ipcMain.on('render-send-sync-to-main', (event, message) => {console.log(`receive message from render: ${message}`)event.returnValue = '主进程回复的消息';})


ipcRenderer.send

//main.js
const { ipcMain } = require('electron');ipcMain.on('message-from-renderer1', (event, message) => {console.log('主进程收到消息:', message, "event", event);event.reply('reply-from-main', '我是主进程的返回值:btn1');});

preload封装
 

const { contextBridge, ipcRenderer } = require('electron');// 使用 contextBridge 安全地暴露 ipcRenderer 功能
contextBridge.exposeInMainWorld('api', {sendMessage: (id, message) => ipcRenderer.send(id, message),//单向【发送】,视图层发起请求,没有then接受onMessage: (id, callback) => ipcRenderer.on(id, callback),//视图层单向接受数据onMessageOne: (id, callback) => ipcRenderer.once(id, callback),//视图层单向接受数据invoke: (id, message) => ipcRenderer.invoke(id, message),//【双向响应】,视图层发起请求,用then接受成功
});


视图层访问

window.onload = () => {//使用旧的通讯方式document.querySelector('#btn1').onclick = function () {console.log('click', this.id)window.api.sendMessage('message-from-renderer1', 'id:' + this.id);window.api.onMessageOne('reply-from-main', (event, message) => {console.log('btn1响应结果', message);});}//使用新的通讯方式document.querySelector('#btn2').onclick = function () {console.log('click', this.id)window.api.invoke('message-from-renderer', '你好啊,我来来之渲染层').then((result) => {console.log("btn2:响应结果", result)})}
}


更多参考:
1.electron渲染线程与主线程通信,渲染线程与渲染线程通信_electron主线程和渲染线程通信-CSDN博客

2.打包的文档:electron-builder

3.包含打包的模板库,链接和上面一样

http://www.dtcms.com/wzjs/592106.html

相关文章:

  • 学校网站建设方案策划书长城建设投资有限公司网站
  • 连州住房建设局网站兰州网站建设开发
  • 商务网站建设包含了电脑登录不了建设银行网站
  • 网站备案号没有-1网站推广机构
  • 免费分站网站百度竞价排名危机事件
  • 建网站需要多少钱选苏州聚尚网络网站开发难度
  • 网站开发项目流程书网站营销费用
  • 一个网站占空间有多少g东莞住房建设网站的网
  • 做外贸比较好的网站有哪些档案门户网站建设方案
  • 上海seo推广整站衡水市做网站
  • 外贸网站推广计划书建一个免费网站的流程
  • 最漂亮网站wordpress 文章 批量 分类
  • 集团门户网站建设费用外贸网站建设是做什么的
  • 顾问式 网站计算机网站建设文献综述
  • 申请个人主页网站外国好的设计网站大全
  • 网站返回404两网站会员同步
  • 制作网站能赚钱吗微课网站建设项目
  • 关于水果怎么做网站个人主页源代码
  • 自助 建站门户网站建设计入什么科目
  • 超全的开源建站系统大全文件备案网站建设方案
  • asp无刷新网站模板商丘住房和城乡建设厅网站
  • 网站电线电话图怎么做wordpress 水果主题
  • 哪里有网站建设开发公司中国建设银行官网招聘公告
  • 网站开发网站页面wordpress 添加广告窗口
  • 建设工程其它费计算网站毕节网站开发公司电话
  • 门户网站 开发语言塘沽网站开发
  • 营销策划公司的基本淘宝客网站做seo
  • 机关事业单位网站建设秦皇岛专业网站建设哪里有
  • 土木特网站建设郑州网站建设国奥大厦
  • 天津建设网站官网杭州专业seo服务公司