每个版本都有废弃和移除的API,废弃的依旧可以用,所以这里只列一些常用的被移除的API及对应的替换方法。
在Electron中,主进程和渲染进程是两个不同的执行上下文。主进程运行在Node.js环境中,可以访问Node.js的API和原生操作系统功能。渲染进程则运行在浏览器环境中,具有访问DOM和Web API的能力,但默认情况下无法直接访问Node.js的API。如果一定要使用,需要修改配置。
remote在旧版本是内置的模块, 但是在新版本将被弃用,要用@electron/remote进行代替
在Electron12时候被废弃,使用必须配置enableRemoteModule
当我们执行 electron . 命令后, Electron 会运行当前目录(.)下的 package.json 文件中 main 字段指定的文件。而运行该文件的进程既是主进程。
1.https://gitee.com/dmhsq/vue3-vite-electron
有句话叫做“有需求就有市场”,技术领域也同样是如此。在过往的前端领域之上,当面临需要涉及操作系统的时候,前端coder往往显得力不从心。这便是桌面应用的需求造就了 Electron 的到来。
如果你可以建一个网站,你就可以建一个桌面应用程序。 Electron 是一个使用 JavaScript, HTML 和 CSS 等 Web 技术创建原生程序的开源框架,它负责比较难搞的部分,你只需把精力放在你的应用的核心上即可。
再开发electron应用时有时候需要在渲染引擎的js中调用remote,从而调用客户端的原生弹窗,但是有时候我们在渲染端js中调用require('electron').remote,程序会报错,提示其不存在,该咋办呢?这其实缺少配置项。
Electron 可以让你使用纯 JavaScript 调用丰富的原生(操作系统) APIs 来创造桌面应用。 你可以把它看作一个 Node. js 的变体,它专注于桌面应用而不是 Web 服务器端。
昨日(2016.09.13)本文发表后,获得了一定的阅读和转发量,但经部分网友反馈和仔细审核后发现,在与 NW.js 对比的环节,言辞欠妥,且数据的真实性有待考究,特此将争议部分删除,同时借此诚挚地向 NW.js 的作者以及各位读者反馈表示感谢,期待更多深入的交流和分享,修订后的版本如下: Stack Overflow 联合创始人 Jeff Wood 曾说过,任何一个能用 JavaScript 编写的应用系统,最终都必将使用 JavaScript 实现。 简介 Electron 是一款可以通过 Web前端技
React作为日常使用比较频繁的框架,这里就不详细说明了,这里主要是想通过几篇文章让大家快速上手Electron以及与React完美融合。
目前网上有好多关于electron相关的文章,但是本人在开发的时候发现,网上大部分文章可以说是千篇一律,没有真正的痛点解析啥的很无语 ,好多的问题都需要自己去找、去试,这无异于加大了开发成本与学习成本,所以本篇博客会从electron 的api 到 electron +vue 组合式开发到 打包 及开发过程中遇见的问题分门别类的进行说明, 当然在最后的文末我会将我写的 electron + vue全家桶的git开源项目附上,需要的话就去git 吧
electron-log supports the following log levels:
隋丰蔚,携程无线平台研发部前端工程师,现负责开发者工具NFES Developer Tools的设计与研发。
简单来说,Electron就是可以让你用Javascript、HTML、CSS来编写运行于Windows、macOS、Linux系统之上的桌面应用的库。本文的目的是通过使用Electron开发一个完整但简单的小应用:记事本,来体验一下这个神器的开发过程。本文犹如Hello World一样的存在,是个入门级笔记,但如果你之前从未接触过Electron,而又对它有兴趣,某想信这会是一篇值得一看的入门教程。 PS:这篇文章是基于Windows的开发过程,未对macOS、Linux作测试。
在前一章中,我们为第一个Electron项目打下了基础,这是一个笔记应用程序,它从左窗格中取出Markdown,并在右窗格中将其呈现为HTML。我们设置了主进程并将其配置为生成一个呈现器。我们建立了package.json,安装了必要的依赖项,创建了主进程和呈现器进程,并布置了UI。我们还探索了使我们的应用程序看起来像桌面应用程序的方法,但是我们还没有添加一个传统web应用程序所不能做的功能。
使用Electron开发客户端程序已经有一段时间了,整体感觉还是非常不错的,其中也遇到了一些坑点,本文是从【运行原理】到【实际应用】对Electron进行一次系统性的总结。【多图,长文预警~】
在上一篇 Electron 进程通信 中,介绍了 Electron 中的两种进程通信方式,分别为:
Electron 可以让你使用开发 Web 的技术去开发跨平台的桌面端应用,由 Github 主导和开源,大家熟悉的 Atom 和 VSCode 编辑器就是使用 Electron 开发的。
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 系统对话框: 1. 调用系统API实现文件保存或读取前的选择功能: 📷 如上图所示的功能,
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 如何创建一个非矩形的窗口: 调整主进程代码 调整窗口的宽高尺寸一致,是窗口变为正方形;
应用内更新的逻辑是,应用内检测受否需要更新,如果需要更新,安装包下载到本地后,进行打开安装,同时关闭当前应用。
具体实现过程, 内容很长, 建议先点赞收藏, 再一步步学习, 接下来会就该项目的每一个重点细节做详细的分析.
窗口A的渲染进程发消息给主进程 const { clipboard, ipcRenderer, remote } = require('electron'); ipcRenderer.send('imgUploadMain', { id: dom.id, siteId: this.siteId, url: dom.src }); 主进程收到
2019 年最后一发,谈谈这半年 Electron 应用开发和优化心得。干货也挺多,希望能给你带来一点启发。
传统的 Web APP 的开发基本上不会涉及到菜单,但是在 Electron 里面它提供了对于菜单全面的控制,你可以通过 Menu、MenuItem 模块来创建应用所需的自定义菜单。这篇文章我们一起探讨下 Electron 中有哪些菜单种类,又是如何通过代码去自定义菜单的?
Electron 团队宣布 Electron 9.0.0 正式发布。新版包括了 Chromium 83、V8 8.3 和 Node.js 12.14 几个组件的升级。此次更新为拼写检查器功能添加了几个新的 API 集成,并新增了 PDF 查看器,还有很多其他的更新。
我正在参加跨端技术专题征文活动,详情查看:juejin.cn/post/710123…
《IMWeb前端月刊》会定期收集每月 IMWeb.io 社区精选好文、前端新闻、版本发布、技术大会,欢迎大家订阅。 IMWeb.io 社区精选好文 从渲染原理到性能优化 或许你正在使用或者了解了React,但你研究过它内部的渲染原理吗?文章详细讲述了react如何根据JSX生成element,element又如何生成真实DOM节点,并通过实际例子,讲解了如何优化组件。 网站性能优化实战 文章详细讲述了浏览器的架构与内核,探究了浏览器渲染机制、事件机制,并由此引出了网站性能优化的方案。 你不知道的 Elect
electron分主进程和渲染进程,渲染进程又分主窗口的渲染进程和子窗口的渲染进程
社交魔方平台是京东的 SNS 活动搭建平台,其内置了很多模板,每一个模板都有一个模板 JSON 用于生成表单,运营同学、商家配置了这个表单后就可以生成活动页面了。模板 JSON 是标准的结构化数据,包含名称、类型、控件类型、校验器、默认值等等字段。以往都是采用手写 JSON 的方式,这是非常低效的,而且容易出错。针对其结构化数据的特点可以用 GUI 的方式去编辑,我们基于 Electron[1] 参考 Github Desktop 客户端[2] 的架构编写了一个 JSON 编辑器(参见下图),通过填写表单的方式生成 JSON。所以在这里记录下这个 Electron 编辑器开发过程中可以记录的点和从 Github Desktop 客户端代码中值得学习的点。
本文由 IMWeb 团队成员 laynechen 首发于 IMWeb 社区网站 imweb.io。点击阅读原文查看 IMWeb 社区更多精彩文章。 Electron 中的两种进程通信方式,分别为: 使用 ipcMain 和 ipcRenderer 两个模块 使用 remote 模块 相比于使用两个 IPC 模块,使用 remote 模块相对来说会比较自然一点。 remote 模块帮我们屏蔽了内部的进程通信,使得我们在调用主进程的方法时完全没有感知到主进程的存在。 remote 底层依旧是通过 ipc 模块
大家好,今天跟大家讨论的是 Electron 的安全配置选项 —— webSecurity
Electron 是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目. 使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 背景说明: 窗口指的就是我们在电脑端经常使用的软件时候显示Logo,标题和操作最小化,最大化
本文主要探讨了在 Electron 应用中如何实现上传文件到服务器的功能,同时通过本地代理服务器来获取完整的cookie。首先介绍了在 Electron 应用中如何通过 XHR 上传文件到服务器,然后介绍了如何通过 LocalStorage 将文件保存在本地。最后,本文介绍了一种使用 Electron 创建本地代理服务器,从而获取完整的cookie的方法。
此对象在某个时刻会触发一个事件(BrowserWindow对象中就有很多这样的事件),
Dear,大家好,我是“前端小鑫同学”,😇长期从事前端开发,安卓开发,热衷技术,在编程路上越走越远~ Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 创建Vue基础项目: 我们通过VueCli(vue create electron-vue-
问题 错误 agora_node_ext.node is not a valid Win32 application 解决办法 先删除node_moudle package.json 增加: "agora_electron": { "electron_version": "7.1.2", "prebuilt": true, "platform": "win32" }, 安装32位的electron npm install -save-dev el
Electron 之所以能够日益风靡,是因为其简单易用且对各个操作平台具有良好的支持。
插件官网地址: https://nklayman.github.io/vue-cli-plugin-electron-builder/
首先,把窗口的高度(height)和宽度(width)值修改为相同的值,使窗口成为一个正方形。
大家好,今天和大家讨论的是 allowRunningInsecureContent 安全配置选项,这个选项非常容易理解,就是是/否允许在 HTTPS 的网站加载或执行HTTP 协议的 JavaScript、CSS、插件等
现在,当Fire Sale启动时,它为UI创建一个窗口。当该窗口关闭时,应用程序退出。虽然这种行为完全可以接受,但我们通常希望能够打开多个独立的窗口。在本章中,我们将Fire Sale从一个单窗口应用程序转换为一个支持多个窗口的应用程序。在此过程中,我们将探索新的Electron APIs以及一些最近添加的JavaScript。我们还将探讨在将一个主进程配置为与一个渲染器进程通信,并对其进行重构以管理可变数量的渲染器进程时出现的问题的解决方案。本章末尾的完整代码可以在http://tinyurl.com/y4z9oj69。 然而我们从第4章-使用本机文件对话框和帮助进程间通讯的分支开始。
最近在研究前端大型项目中要怎么管理模块间通信,本文记录研究 VSCode 中通信机制的过程,主要包括 IPC 部分吧。
我们知道开发Electron应用,难免要涉及到跨进程通信,以前Electron内置了remote模块,极大的简化了跨进程通信的开发工作,但这也带来了很多问题,具体的细节请参与我之前写的文章:
本系列文章的前面几篇主要是从Electron技术本身进行了讨论(包括:第1篇初步了解Electron、第2篇进行了快速开始和技术体验、第3篇基于实际开发考虑的技术栈选型等),各位读者也应该对Electron的开发有了较为深入的了解。
1,跟进electron模式跑eagle出现i18n找不到的问题,原因是.remote.require('./translations/i18n'));这种写法,会在主进程的
领取专属 10元无门槛券
手把手带您无忧上云