当前位置: 首页 > 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/354799.html

相关文章:

  • 有哪些做海报的网站网络营销论文题目
  • 吉林网站备案搜一搜搜索
  • 北京政府网官网seo排名优化教学
  • 广州品牌网站建设公司可靠的网站优化
  • wordpress调用导航菜单北京网络推广公司wyhseo
  • 网站如何调用微博属于网络营销的特点是
  • 一般网站建设用什么语言seo线下培训班
  • 设计汽车网站百度收录快的发帖网站
  • 老外做的汉语网站什么是搜索引擎营销?
  • 做网盟的网站必须备案云南优化公司
  • 广州做网站一般多少钱有没有免费的推广网站
  • 网站打开不了怎样做数据分析师
  • 企业网站建设方案案例关键词林俊杰无损下载
  • 云南做网站费用广告公司品牌营销推广
  • 广州品牌网站制作公司百度惠生活推广怎么收费
  • 佛山 顺德营销型网站设计百度点击优化
  • 如何查看网站备案兰州seo优化入门
  • 网站建设加推广搜索排名优化策划
  • 湛江网站营销今日热搜榜排名
  • 湖南建设长沙网站建设价格win7最好的优化软件
  • wordpress文字转图插件下载百度免费优化
  • 自己如何建网站济南网站优化公司
  • 网页设计公司理念焦作网站seo
  • 福建建设执业资格注册管理中心网站今天新闻头条新闻
  • 怎样把域名和做的网站连接最新消息新闻头条
  • 郑州文明网seo快速软件
  • 技术博客主题wordpress海洋seo
  • 说几个手机可以看的网站品牌广告语
  • 浙江建设职业继续教育学院网站淘宝推广运营
  • 有哪些网站做明星周边品牌营销策划方案