Tag: 电子

apm(atom的包pipe理器)启动shell运行错误

我正在处理我的osx 10.11系统中的apm错误。 当我跑步 apm 在我的命令行中,由于错误的文件path导致错误: /usr/local/bin/apm: line 32: /Applications/Atom.app/Contents/Resources/app/apm/node_modules/.bin/node: No such file or directory 签出后,我发现:在apm shell(/Atom.app/Contents/Resources/app/apm/node_modules/.bin/apm)中,有一个while循环: while [ -L "$binDir" ] do binDir=`readlink "$binDir"` builtin cd "`dirname "$binDir"`" binDir=`basename "$binDir"` done 似乎这个循环只在我的osx系统上运行一次,而且在其他系统上运行两次,我所拥有的缺陷就是因为这个原因。

如何触发电子自动更新事件用于testing目的?

例如: autoUpdater.on('update-available', function() { console.log("update-available"); }); 我想要触发更新可用事件,而不必将应用程序的状态恢复到更新可用的位置。 谢谢! PS我会使用autoUpdater标签在这篇文章中,如果我有1.5K代表,对不起:/

NightmareJS没有closures浏览器

我已经习惯了PhantomJS和Watir,它们都提供了一个开箱即用的REPL。 REPL允许我在当前运行的浏览器上执行自动调用。 这是制作自动化脚本的有趣方式,因为我可以在构build自动化脚本时观察每个步骤的效果。 实际上,我甚至可以编写一个脚本来定义打开浏览器,执行login和其他常见任务的方法,然后在通用Node或Ruby REPL中按需要调用它们。 我可以在不closures浏览器(Electron)的情况下执行NightmareJS调用吗?

在Electron应用程序中安装oracledb时会出现证书错误

我正在运行Windows 7的oracledb v1.10.0,电子预构buildv1.2.2,电子重buildv1.1.5,节点v0.12.7和npm v2.11.3。 当我执行node_modules/.bin/electron-rebuild -f -w oracledb ,我收到以下错误: gyp ERR! stack Error: certificate not trusted gyp ERR! stack at Error (native) gyp ERR! stack at TLSSocket.<anonymous> (_tls_wrap.js:929:36) gyp ERR! stack at TLSSocket.emit (events.js:104:17) gyp ERR! stack at TLSSocket._finishInit (_tls_wrap.js:460:8) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "node" "H:\\electron-quick-start\\node_modules\\electron-rebuild\\node_modules\\npm\\node_modules\\node -gyp\\bin\\node-gyp.js" "install" "–target=1.2.7" "–arch=x64" "–dist-url=https://gh-contractor-zcbenz.s3.amazonaws.co […]

如何设置Nightmare.js中的电子大小?

“ 恶梦”文档不指定如何设置浏览器的详细信息。 我猜这是这样的,但它不起作用。 有任何想法吗? const nightmare = new Nightmare({'show': show, 'BrowserWindow': {height: 900}});

计算机脱机时,将nodeJS连接到MySQL

当电脑离线时,我的电子应用程序无法连接到本地MySQL。 当连接到互联网的电脑,一切工作正常。 仅在Windows上testing。 在nodeJS(命令提示符)和Electron中也是如此。 码: s = {database: "test", user: "test", password: "test", host: "localhost"} var mysql = require('./mysql'); var mysqlc = mysql.createConnection(settings); mysqlc.connect(function(err) { console.log(err); }); 错误代码是: { [Error: getaddrinfo ENOENT localhost:3306] code: 'ENOENT', errno: 'ENOENT', syscall: 'getaddrinfo', hostname: 'localhost', host: 'localhost', port: 3306, fatal: true } 为什么? 我能做些什么呢?

电子Packager在Windows上没有任何东西

我已经在Windows中使用Electron编写了一个小应用程序,并具有一些function,可以检查registry以获取有关已安装软件的信息,并且需要在另一台计算机上运行应用程序以进行testing。 所以,我试图打包我的应用程序。 首先,我注意到当我运行>electron .时很重要>electron . 在我的项目的根源,它运行没有任何问题。 我已经尝试手动打包应用程序,将我的应用程序放在resources\app文件夹下,并运行Electron.exe。 它不起作用。 在退出之前,Electron应用程序在任务pipe理器中启动。 没有任何错误或警告。 没有对话或任何东西。 我已经安装了电子包装模块,并尝试使用它来打包应用程序。 但是,它什么都不做。 没有控制台输出,它只是坐在那里一段时间之前退出。 当它退出时,没有打包的应用程序。 什么也没有变。 我试了电子build设者,得到了同样的结果。 一般来说,我对节点是新手,所以我怀疑我只是在做一些错误的事情。 这是我的package.json(我还没有完全理解它的目的): { "name": "welcome", "version": "0.1.0", "description": "", "main": "main.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "electron .", "compile": "node .\\node_modules\\webpack\\bin\\webpack.js", "prep": "robocopy . releases\\app /XD node_modules releases blah /S /MIR […]

从Electronsubprocess访问DOM树

我在Windows 10上使用Electron(v1.2.2),我的一个项目有一个很大的问题: 我有一个脚本,进入渲染过程,并创buildsubprocess运行一些特殊的代码。 我需要运行在subprocess内的代码来访问DOM。 当创build进程(使用child_process.fork())时,我使用内置IPC通道发送一些信息,例如时间戳,有关将在subprocess内部运行的脚本的一些信息。 但是当我尝试发送一个类的实例时,它根本不起作用: //main.js const child_process = require('child_process'); const child = child_process.fork('child.js'); child.send({ready: { version: '0.0.1', dom: document }}); // child.js process.on('message', (m) => { typeof m.dom.body.appendChild; // ReferenceError }); 我想这是IPC通信的限制,只能传输一些特定的数据,但我知道可以使用IPC通道发送服务器或套接字实例,所以我不明白为什么传输文档是不可能的。 所以我正在寻找一种方法来访问subprocess的DOM,但我没有find任何解决scheme。 subprocess内部的代码需要在DOM上做很多操作,不能用IPC通信来访问,否则性能会太慢。 所以,我的问题是:有什么办法从subprocess访问DOM?

在电子中使用request-promise链接HTTP请求

UPDATE 好,所以我解决了。 当使用highland.js时,我需要一个.done()来完成stream。 var requests = []; _(fs.createReadStream("small.txt", { encoding: 'utf8' })) .splitBy('—–BEGIN—–\n') .splitBy('\n—–END—–\n') .filter(chunk => chunk !== '') .each(function (x) { requests.push(function (next) { Helpers.Authenticate() .then(function (response1) { return Helpers.Retrieve(); }) .then(function (response2) { return Helpers.Retrieve(); }) .then(function () { next(); }); }); })}).done(function () { async.waterfall(requests); }); request数组现在正在工作。 我有一些使用电子和链接承诺的问题。 下面是我在主stream程中运行的代码。 var request = […]

node-serialport不会列出也不检测连接到笔记本电脑的USB设备

我正在使用Electron和node-serialport构build一个应用程序,并且我没有将USB设备连接到笔记本电脑(例如:鼠标,扬声器) 我正在使用这个代码: var SerialPort = require('serialport'); SerialPort.list(function (err, results) { if (err) { throw err; } console.log("Number of results : " + results.length); }); 输出Number of results : 0 。 当我检查我的Device Manager : 这是我的configuration: 电子 : 1.4.5 SerialPort版本 : 4.0.5 NodeJS版本 : 6.9.1 操作系统和硬件平台 : Windows 8.1 / 64 bits