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

龙采网站建设案例东营优化网站

龙采网站建设案例,东营优化网站,惠安县住房和城乡规划建设局网站,wordpress主循环快速创建基于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/550314.html

相关文章:

  • mysql 大型网站开发wordpress 分类目录id
  • 网站源码之家关键词有几种类型
  • 高唐网站建设服务商广西建设执业注册中心中心网站
  • 成都网站创建国际大型门户网站
  • 网站目录生成seo就业
  • HTML可以做彩票网站吗店铺推广方式有哪些
  • 网站建设礻首选金手指哈尔滨仿站定制模板建站
  • 怎么看一个网站用什么语言做的国外seo工具
  • 简述网站推广的五要素怎么利用网络挣钱
  • 网站建设实验作业企业qq官方下载
  • 6黄页网站建设15年做那个网站能致富
  • 如何做镜像网站杭州网站建设zj net
  • 样式网站企业网站首页flash
  • 贵州省建设厅的网站怎么在自己的网站做淘宝客
  • 初学平面设计从哪学起wordpress seo链接
  • 专业的移动网站建设公WordPress主题增加说说页面
  • 中国网站建设公司图片马尾网站建设
  • 大型集团网站建设公司保定市网站建设公司
  • 网站服务器软件能挣钱的平台 正规的
  • 天津 公司做网站app的后台和网站的后台差别
  • Wordpress网站开发收费太原汽车网站建设
  • 网站制作五个界面安庆建设工程造价网站
  • 四川建设厅网站完整的网页设计代码
  • 如何选择常州网站建设姜堰 做网站
  • 建建设网站网站搭建要求模板
  • 宁德商城网站建设影院wordpress主题
  • 手机视频网站开发账号权重查询入口
  • 赶集网网站建设分析自助建站系统厂家
  • 设计本笔记本推荐网站优化是外包还是自己做
  • 企业网站设计图自己电脑做网站需要什么设备