首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Electron 应用流水线设计

// nodejs10.15.2 是在 Jenkins 全局工具配置中添加 NodeJS 安装器 nodejs(nodeJSInstallationName: 'nodejs10.15.2...多平台构建应该是并行,以提升流水线效率。我们通过 parallel 指令实现。 另外,默认 Electron 应用使用三段式版本号设计,即 Major.Minor.Patch。...完整源码地址:https://github.com/zacker330/electronjs-pipeline-demo 小结 上例中,Electron 应用流水线设计思路,不只是针对 Electron...并将制品上传到制品库,以方便后续步骤或阶段使用。 全局变量与平台相关变量进行分离。 最后,希望能给读者带来一些启发。.../nodejs Electron 版本管理:https://electronjs.org/docs/tutorial/electron-versioning#semver 审校 LinuxSuRen(https

80330

nodeIntegration | Electron安全

架构以及开发等知识可以参照官网,官网有非常详细介绍,今天我们要谈论可能是 Electron 最重要安全特性之一 —— nodeIntegration https://www.electronjs.org...这个描述似乎在说,开启了 nodeIntegration 之后,渲染进程就可以获取到 NodeJS 能力,这样渲染进程可以直接使用系统相关方法,进而达到命令执行效果 官方眼中渲染器到底具体是什么呢...测试项 Electron 官方开发了 Electron Fiddle 程序,可以直接选择 Electron 版本,非常方便,但是需要系统准备对应 NodeJS 环境,代码就使用默认,我们在其中 "加料...来进行安装,高版本 Nodejs 用 Deepin Linux 进行安装测试 安装 Fiddle https://www.electronjs.org/zh/fiddle 安装 nvm https:...安全与你我息息相关 中介绍普通用户可操作检查方式对使用应用程序安全性进行检查,进而决定使用该程序时注意事项以及要不要继续使用,当然更好是向开发者提出建议,采用更安全开发方式 0x10 PDF

30310
您找到你想要的搜索结果了吗?
是的
没有找到

electron 进程间通信

预加载脚本(preload) Electron 不推荐在渲染进程开启Nodejs 环境,那也就意味着我们无法在渲染进程中使用NodeJS API,但有时候我们又真的很需要使用NodeJS API。...用大白话来说就是:我们可以在主进程创建窗口时候,指定一些脚本(内容是我们定),这些脚本将来是在渲染进程中使用,但是先于网页内容加载,由于是在主进程时候就预加载了,所以能使用NodeJS API。...下面写个示例体验一下: 创建一个预加载脚本 p1.js,我们可以在里面编写我们代码,此脚本中可以使用Nodejs API。...由于渲染进程中默认无法使用NodeJS API,也就无法使用 require 导入模块,所以我们需要将 ipcRenderer 模块相关内容在预处理脚本中暴露,才能在渲染进程中使用。...或者使用第三方存储方案(如:localStorage、数据库等)进行中转 参考文档: https://www.electronjs.org/zh/docs/latest/tutorial/ipc https

12110

Electron 9.0.0发布!带来三项重大改进,不再支持Electron 6

开发者可以在 npm 上使用 npm install electro@latest 命令安装,或从 Electron 发行网站下载: https://electronjs.org/releases/stable...https://developers.google.com/web/updates/2020/05/nic83 Node.js 12.14.1 Node 12.14.1 介绍 https://nodejs.org...关于新功能和更改完整列表,请参见 9.0.0 发行说明: https://github.com/electron/electron/releases/tag/v9.0.0 重大改进 使用 remote...另请参阅我们版本控制文档,获取有关 Electron 中版本控制更多细节: https://electronjs.org/docs/tutorial/electron-versioning 关于未来...需要帮助或提交 bug,请联系: https://www.electronjs.org/contact 延伸阅读 https://www.electronjs.org/blog/electron-9-

1.9K10

预加载脚本 | Electron 安全

预加载脚本中Node.js https://www.electronjs.org/zh/docs/latest/tutorial/tutorial-preload 预加载脚本意义在于完成主进程和渲染进程之间联络...events https://nodejs.org/api/events.html 这个模块是 Node.js 中关于事件处理模块,是发布、订阅模式实现,这里允许预加载脚本使用应该是为了让预加载脚本具备事件处理相关能力...query=param&another=value'); console.log(url); 接下来应该是一些原本渲染进程没有或不完整而补充进来一些方法 Buffer https://nodejs.org...process https://www.electronjs.org/zh/docs/latest/api/process 这个模块用来处理对象扩展,官方案例中获取 Electron、Node.js...,但是有些泄漏可能是不容易发现,例如有几个函数只是给 Preload 自己使用,但是不小心暴露给了渲染进程;函数是给自己写渲染进程使用,结果同时暴露给了 iframe 这种嵌入内容等 预加载脚本是一个很好代码审计切入点

16910

【JavaScript】解决 JavaScript 语言报错:Uncaught ReferenceError: XYZ is not defined

这种错误通常发生在试图使用一个未声明变量或标识符时。这类错误可以在调试和开发过程中频繁遇到,了解其成因和解决方法对于提升代码质量和开发效率非常重要。...常见场景 变量未声明或拼写错误 使用未定义函数或对象 块级作用域中变量访问 代码执行顺序问题 通过理解这些常见场景,我们可以更好地避免和处理这些错误。...引用错误通常意味着代码试图访问一个不存在变量或标识符。 XYZ is not defined: 这里 ‘XYZ’ 是具体变量或标识符名称。错误信息表明该变量未被定义或声明。...正确代码执行顺序 确保变量在使用前已声明和初始化,避免变量提升问题。...以下几点是需要特别注意: 变量声明:确保在使用变量前已声明并初始化。 拼写检查:仔细检查所有变量名和标识符拼写。 块级作用域:正确理解和使用块级作用域。 函数定义:在调用函数前,确保函数已定义。

30320

Electron 安全与你我息息相关

Nodejs 能力 实际上,在 Electron 官网是很不建议使用 webview ,主要是因为它可能变动原因 https://www.electronjs.org/zh/docs/latest...https://www.electronjs.org/zh/docs/latest/glossary#asar 我们使用 asar 工具将其解压 asar extract app.asar ./ 最好在原本文件夹里执行...解包后还是一个二进制程序,看来没有使用默认打包发布方法 使用远程调试方法会跳出一个弹窗错误,说不允许调试,但调试功能还是开了 看起来应该是调试只提供了 Nodejs 环境,没有给与程序相关对象...,当然即使不使用外部 JavaScript 可能也可以绕过,但是关闭 webSecurity 使 Goby 过滤规则更容易被绕过 7. fuse https://www.electronjs.org/...,Chromium 负责页面渲染,可以理解为渲染进程 比较常见配置是禁止渲染进程执行 Nodejs 代码,同时开启上下文隔离,此时如果渲染进程想要使用操作系统或者硬件部分功能怎么办呢?

84810

Electron那些事10:本地数据库sqlite

nodejs版本,一般配套和electron使用sqlite3 – npm 默认版本是nodejs版本,electron内可以直接使用, 还有node-webkit版本,这个版本是给node-webkit...类环境使用,例如nw框架使用 另外还有sqlcipher版本,就是加密本地数据库版本 【安装和使用】 安装比较简单 npm i sqlite3 先看官网一个例子 var sqlite3 = require...('sqlite3').verbose(); var db = new sqlite3.Database(':memory:'); db.serialize(function() { db.run...这个npm包,单独使用没有问题, 但是在mac m1+electron环境下使用会报错,如下 报错提示找不到arm64下文件,但是sqlite3下有x64版本, 修复版本,npm i时候添加指定系统...npm install --target_arch=arm64 这样即可安装arm64版本sqlite3 【qiao-sqlite】 将常见sqlite操作封装了一个npm,qiao-sqlite

1.9K20

Fuse | Electron 安全

,因此对于普通开发者来说,你默认给我开发程序带了一堆特性,我可能还用不到,甚至可能还不太安全,我是不是应该有禁用选项,例如,99%应用都没有使用ELECTRON_RUN_AS_NODE,开发者希望能够提供无法使用该功能二进制文件...fuse 检查一个应用程序 fuse 设置 https://www.electronjs.org/zh/docs/latest/tutorial/fuses#how-do-i-flip-the-fuses...,官方文档说是否考虑 ELECTRON_RUN_AS_NODE 环境变量 ELECTRON_RUN_AS_NODE 参考如下文档 https://www.electronjs.org/zh/docs/...模块时使用 BoringSSL 而不是 OpenSSL cli 选项可以参考 https://nodejs.org/api/cli.html 现在我编译一个 runAsNode 为 Enabled 程序...,有位安全研究员提出来,并且还制作了一个检测工具,具体官方声明以及检测工具查看下方链接 https://www.electronjs.org/zh/blog/statement-run-as-node-cves

12810

NodeJS 使用 better-sqlite3 操作sqlite 数据库

背景 NodeJS web server 开发中总要操作数据,对于轻量级应用 选用 sqlite 存储是比较方便实用。我们选用 better-sqlite3 这个库操作数据库。...最方便一点是,它是同步。对比于原sqlite3类库更适合配合 koa2 一起使用。代码会变得更简单易读。...为什么选用 better-sqlite3 而 不直接选用 sqlite3 Node.js中SQLite3最快最简单库。...完整事务支持 高性能,高效率和安全性 易于使用同步API (比异步API更快......是的,你读得正确) 支持用户定义函数,聚合和扩展 64位整数(在您需要它们之前不可见) 下图是个性能对比,能看出来性能...better-sqlite3 优于 sqlite3

6.4K00

Electron 跨平台应用开发终极技能

; } } 今天就来介绍一下如何使用electron创建一个windows应用流程。带你快速入门这款对新手友好,老手喜爱开源框架。...2、学习难度降低,因为使用web技术,对前端开发者很友好,可以快速上手。 3、生态还是很丰富,有现成UI框架、API、工具可以使用。...4、electron对nodejs环境有完全访问权限,调用各种模块完成业务逻辑,更加灵活可控。...好有了electron背景了解,我们就着手创建一个windows桌面应用(毕竟windows应用使用基数大),至于macos和linux如果会用到再分享。...官方网址: https://electronjs.org 导航栏一目了然,直接点击文档中快速入门即可学到基础知识: 2、准备开发环境 1.nodejs,最好是12版本及以上版本。

27820

快速了解Electron:新一代基于Web跨平台桌面技术

开发手册:https://electronjs.org/docs。...2)可以从 NodeJS 生态获得极大助力: 因为 Electron 是基于 NodeJS ,意味着,NodeJS 这个大生态下模块,Electron 也都可以用,这减少了很多造轮子时间,你要写一些逻辑将首先思考有没有成熟模块可以引入...NodeJS环境:这可能是很多前端开发者曾经梦想过功能,在WEB界面中使用Node.js提供强大API,这意味着你在WEB页面直接可以操作文件,调用系统API,甚至操作数据库。...传统Web环境我们是不能对用户系统就行操作,而Electron相当于NodeJS环境,我们可以在项目里使用所有的node api(Electron作者相当机智...)。...NodeJS环境 ,所有NodeJS能用东西,我们都能用。

4.4K40
领券