Electron团队提供remote模块给开发者, 主要目的是为了简化渲染进程和主进程互访的难度, 这个目的却是达到了. 但也带来了很多问题, 归纳起来主要分为以下四点: 第一:它很慢 通过remote模块可以访问主进程的对象.类型.方法, 但这些操作都是跨进程的, 跨进程操作性能上的损耗可能是进程内操作的几百倍甚至上千倍. 假设你在渲染进程通过remote模块创建了一个BrowserWindow对象, 不但你创建这个对象的过程很慢, 后面你使用这个对象的过程也很慢. 小到更新这个对象的属性,…
项目托管平台地址:https://github.com/gengwenhao/GetTop250.git 开发模块功能: "get_info()单个页面的爬取"功能,开发时间:15天(小时),实现了"对签250电影任意页面准确的将信息爬取下来",实现过程是"通过requests包和b4包将页面的html源码下载, 并分析提取出来" "get_urls()生成前250电影的页面地址"功能,开发时间:1天(小时),实现了"…
项目托管平台地址:https://github.com/xyhcq/top250 开发模块功能: 爬虫对信息的处理部分 开发时间:5天的下午空余时间(每天大约1小时,边学模块的使用边开发) 实现了:爬虫的基本功能,能够爬取指定网站的信息 实现过程:导入2个python库:requests和BeautifulSoup,利用这些库自带的功能和根据之前 成员马壮分析过的网页源码信息 可以实现对网页源码内容的分析提取. def getData(html): # 分析代码信息,提取数据 soup = Be…
我所做的模块不需要测试,但在后续其他人编写代码的时候,我需要对网页源码进行进一步的规范,然后指导别人在网页源码中的标签用法.…
模块测试: 项目托管平台地址:https://github.com/gengwenhao/GetTop250.git 模块测试:"获取250排名的全部电影信息"功能,测试方法:手动执行to_get_all_info() if __name__ == '__main__': to_get_all_info()…
实现一个不规则窗体 这里我们实现一个圆形窗体,实现其他形状的窗体与这个方法类似. 首先,把窗口的高度(height)和宽度(width)值修改为相同的值,使窗口成为一个正方形. 其次,把窗口的透明属性(transparent)设置为true,这样设置之后窗口还是正方形的,但只要我们控制好内容区域的Dom元素的形状,就可以让窗口看起来像一个不规则形状一样. 不规则窗口往往需要自定义边框和标题栏,所以frame也设置为false. 另外,透明的窗口不可调整大小.所以将resizable属性设置为fa…
electron获取不到remote 问题 // 渲染进程 let remote = require('electron').remote console.log(remote) // undefined 原因 版本问题,可以看到在老的版本的说明文档里面还有这个,在新的版本的说明文档里面没有这个了 解决 实际是remote模块默认关闭, 必须手动设置webPreferences中的enableRemoteModule为true之后 mainWindow = new BrowserWindow({…
1. 安装Electron依赖包 开发者往往通过npm install(或 yarn add)指令完成为Node.js工程安装依赖包的工作, 安装Electron也不例外,下面是npm和yarn的安装Electron依赖包的指令: npm install electron --save-dev yarn add electron --dev 官方推荐我们把electron依赖包安装为开发依赖(devDependencies), 这实际上是为了将来制作应用程序安装包时, 避免把electron包和…
作者:Kurosaki 本节旨在汇总在开发Electron 窗口可能遇到的问题,做一个汇总,后续遇到问题会持续更新. 1. 窗口闪烁问题. const { BrowserWindow } = require('electron'); const win = new BrowserWindow(); win.loadURL('https://github.com'); 使用new BrowserWindow() 创建出窗口,如果不作任何配置的话,窗口就会出现,默认是白色的:这个时候使用win.lo…
我们知道开发Electron应用,难免要涉及到跨进程通信,以前Electron内置了remote模块,极大的简化了跨进程通信的开发工作,但这也带来了很多问题,具体的细节请参与我之前写的文章: https://www.cnblogs.com/liulun/p/15217180.html Electron团队把remote模块拿掉之后,开发者就只能使用ipcRenderer,ipcMain,webContents等模块收发跨进程消息了,这并没有什么问题,但写起来非常麻烦,跨进程消息多了之后,也很难管…