Electron结合React,在渲染进程中使用 node 模块 问题 将create-react-app与electron集成在了一个项目中.但是在React中无法使用electron.当在React中使用require('electron')时就会报TypeError: fs.existsSync is not a function的错误.因为React中无法使用Node.js的模块. 解决方法1 利用window.require引入 const electron = window.requ…
原文发表于百度空间,2009-09-17========================================================================== 相当老的话题,大约一年前就写过这个东西了,不过那时候知识比较有限,也不了解内核,因此实现得很粗浅,现在再写一下,权当是对这个老问题的总结吧.先谈谈正规DLL的隐藏方法,这里说的正规DLL,是指用LoadLibrary以正常方式加载的DLL.一.从PEB的Ldr链中消失这个很简单,看雪上NetRoc有一篇关于这…
1.原因 ssr 会在后端执行组件的 componentWillMount 以及在它这个生命周期之前的生命周期 也就是说 ssr 阶段是不会执行 componentDidMount 方法的 当你在 componentWillMount 之前当生命周期里面调用 window / localstorage 全局对象的时候, 它其实是在服务器上面执行等,因为 window / localstorage 是浏览器的属性对象. 所以在 服务器端 跑的时候,就会出现没有定义的错误. 2.解决方案 个人觉得可…
根据官方文档,满足以下任意条件的模块,就不是State,原文如下: 1.Is it passed in from a parent via props? If so, it probably isn’t state. 2.Does it remain unchanged over time? If so, it probably isn’t state. 3.Can you compute it based on any other state or props in your componen…
老规矩,先吐槽,再记录. 今天被上司教育了将近一个小时.因为之前自动更新的模块,我认为已经完成了,但是还有一些细节没有完善好,就一直一直的被教育~ 事情全部做完,提交以后关闭issue! electron中,从package.json的main载入的js文件就是主进程,由主进程load出来的页面就是渲染进程. 渲染进程可以有多个,主进程只有一个“main.js”. 主进程和渲染进程之间通信,可以使用ipcMain(主进程)和ipcRenderer(渲染进程)来通信,也可以使用remote模块来通…
上一篇讲了使用electron进行打包的配置相关文件,这篇主要讲electron中很重要的通信方式. 首先解释一个概念: electron打包的应用包含两个部分 electron的环境(node),也就是主进程. web渲染环境,副进程. 这两个环境之间是相互隔离的,无法直接进行数据通信,所以有了这篇文章. 三个角色: ipcRender ipcMain webContents ipcRenderer用于渲染进程 ipcRenderer.on(channel, listener) --> cha…
背景 由于某个Electron应用,需要主进程.渲染进程.webview之间能够互相通讯. 不过因为Electron仅提供了主进程与渲染进程的通讯,没有渲染进程之间或渲染进程与webview之间通讯的办法,所以只能寻找其他方案来解决. 研究一:ipcMain/ipcRenderer Electron主进程与渲染进程的通讯,就是用ipcMain/ipcRenderer这两个对象. // 在主进程中. const { ipcMain } = require('electron') ipcMain.o…
目录 结合React+TypeScript进行Electron开发 1. electron基本简介 为什么选择electron? 2. 快速上手 2.1 安装React(template为ts) 2.2 快速配置React 2.3 安装electron 2.4 配置main.js.preload.js和package.json文件 2.5 运行electron项目 2.6 打包项目 3. 自动刷新页面 4. 主进程和渲染进程 5.定义原生菜单.顶部菜单 5.1 自定义菜单 5.2 给菜单定义点击…
禁⽌使⽤ iframe iframe 会阻塞主⻚⾯的 Onload 事件 搜索引擎的检索程序⽆法解读这种⻚⾯,不利于 SEO iframe 和主⻚⾯共享连接池,⽽浏览器对相同域的连接有限制,所以会影响⻚⾯的并⾏加载 使⽤ iframe 之前需要考虑这两个缺点.如果需要使⽤ iframe ,最好是通过 javascript 动态给 iframe 添加 src 属性值,这样可以绕开以上两个问题 禁⽌使⽤ gif 图⽚实现 loading 效果(这样可以降低 CPU 消耗,提升渲染性能) 使⽤ CSS…
ipcMain https://electronjs.org/docs/api/ipc-main 当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息, 当然也有可能从主进程向渲染进程发送消息 ipcRenderer https://electronjs.org/docs/api/ipc-renderer 使用它提供的一些方法从渲染进程 (web 页面) 发送同步或异步的消息到主进程. 也可以接收主进程回复的消息 使用自定义的 最小化,最大化,关闭按钮 渲染进程 html 片段…