Tag: 电子

App.getPath(“userData”)似乎给出了错误的path

我有一个简单的应用程序,基于电子快速启动,几乎没有变化。 我试图使用nedb并将其传递到我的userDatapath。 我的Package.json "name": "my-electron-app", "version": "1.0.0", "description": "A minimal Electron application", "main": "main.js", "scripts": { "start": "electron main.js" } 我的渲染器脚本(app.js): const remote = require('electron').remote; const app = remote.app; console.log(app.getPath('userData')) 根据控制台,userData是 C:\用户\我\应用程序数据\漫游\电子 难道不是这个吗? C:\用户\我\应用程序数据\漫游\ MY-电子应用

要求使用TypeScript,SystemJS和Electron的nodejs“child_process”

我正在研究一个简单的nodejs 电子 (以前称为primefaces壳)项目。 我正在使用angular 2编写它,使用项目相同的项目设置,他们build议在typescript的文档中: TSC: { "compilerOptions": { "target": "es5", "module": "system", "moduleResolution": "node", "sourceMap": true, "emitDecoratorMetadata": true, "experimentalDecorators": true, "removeComments": false, "noImplicitAny": false }, "exclude": [ "node_modules", "typings/main", "typings/main.d.ts" ] } 我需要运行一个命令,我发现我可以用节点“child_process”来完成。 无论如何我无法find“导入”或“要求”,而从node.d.ts文件中使用它的types。 我在node.d.ts文件中find了适合我需要的“child_process”接口,这就是它在node.d.ts文件中的样子: declare module "child_process" { import * as events from "events"; import * as stream from "stream"; export interface ChildProcess […]

button点击事件绑定在电子JS

我已经开始使用电子js来开发桌面应用程序。 我想知道如何绑定button点击事件与JavaScript函数,以便我可以执行其他操作。 我使用下面的HTML代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Manav Finance</title> </head> <body> <input type="button" onclick="getData()" value="Get Data" /> </body> <script> // You can also require other files to run in this process require('./renderer.js') </script> </html> 我的renderer.js代码如下所示: function getData(){ console.log('Called!!!'); } 但是我得到的错误是: Uncaught ReferenceError:getData未在HTMLInputElement.onclick处定义 难道我做错了什么? 更新 更新了HTML文档,并删除了require()方法及其工作: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Manav Finance</title> […]

我如何将一个预编译的二进制文件与电子打包在一起

我正在尝试包含一个预编译的二进制文件和一个电子应用程序。 我开始使用电子快速启动应用程序,并修改了我的renderer.js文件,以包含将文件放在主体上时触发的代码: spawn = require( 'child_process' ).spawn, ffmpeg = spawn( 'node_modules/.bin/ffmpeg', ['-i',clips[0],'-an','-q:v','1','-vcodec','libx264','-y','-pix_fmt','yuv420p','-vf','setsar=1,scale=trunc(iw/2)*2:trunc(ih/2)*2,crop=in_w:in_h-50:0:50', '/tmp/out21321.mp4']); ffmpeg.stdout.on( 'data', data => { console.log( `stdout: ${data}` ); }); ffmpeg.stderr.on( 'data', data => { console.log( `stderr: ${data}` ); }); 我已将预编译的ffmpeg二进制文件放入node_modules/.bin/ 。 在开发面板中一切都很好,但是当我使用电子包装器来设置应用程序时,触发时会向控制台抛出一个spawn error ENOENT 。 我的确发现了一个非常类似的问题 ,但这个问题似乎没有明确的答案。 电子包装商的npm页面确实表明它们可以捆绑在一起,但我找不到有关如何这样做的文件。

iojs / electron – 将所有内容输出到文件中

我目前正在使用iojs 2.3.1在Electron中构build一个应用程序,并且我想要做的是在dev工具控制台中输出打印出来的任何内容和所有内容。 在早期版本的节点中,以前可以通过stdout / stderr进行pipe道操作,这已经不再可行了,而且我不能在我的生活中find一个可行的解决scheme,而且不需要更改大量的代码。 有没有人有这个工作的解决scheme? 谢谢!

无框浏览器窗口零高度

我在Electron中创build了一个新的无框浏览器窗口,它的高度和宽度都设置为0,但至less在窗口中,窗口显示了一些宽度和高度。 另外我还没有加载任何内容。 var mainWindow = new BrowserWindow({ width: 0, height: 0, resizable: false, frame: false, center: true, show: true, 'use-content-size': false, 'always-on-top': true }); 有可能有一个无框架的窗口0高度/宽度?

'console.log'在Webstorm中不适用于testingElectron应用程序

在Webstorm(Windows 7)中的“正常”节点应用程序中,我可以使用console.log写入Webstorm的控制台窗口。 只要我使用Electron创build一个桌面应用程序,控制台输出不再显示在Webstorm控制台窗口中,尽pipe我使用了相同的节点命令“C:\ Program Files \ nodejs \ node.exe”。 主要区别在于,在运行configuration中,我必须使用节点参数'C:\ Users \ Username \ AppData \ Roaming \ npm \ node_modules \ electron-prebuilt \ cli.js'来获得正确的Electron入口点。 当我从Windows控制台窗口直接启动Electron应用程序时,此控制台窗口将显示所有输出。 这个问题可能与“cli.js”产生一个subprocess的事实有关: #!/usr/bin/env node var electron = require('./') var proc = require('child_process') var child = proc.spawn(electron, process.argv.slice(2), {stdio: 'inherit'}); child.on('close', function (code) { process.exit(code); }) 但是这个inheritance了stdio ,因此输出应该到同一个频道。 还是我误解了一些东西?

捕获,修改,然后输出电子audio

我试图捕捉,修改并最终在Electron (Mac OSX)节点中输出audio。 这些步骤是: 在输出之前捕获audio,可能通过CoreAudio。 通过Web Audio API修改audiostream/缓冲区。 将修改后的缓冲区输出到声音设备。 我试过节点核心audio 。 但是,我能做到的最多的是一个快速的刺耳的声音。 除此之外,我还没有find一个好的解决schemeI / O的audio。 我怎样才能做到这一点,而不牺牲音质?

会话cookie在Electron中不起作用

我正在考虑在我正在构build的Electron [0]应用程序中实现一个login系统,但是在处理会话的过程中遇到了困难。 基本上我想存储用户会话,以便在应用程序重新启动之间持续存在(如果启用了“记住我”function)。 我必须利用现有的后端与cookie身份validation,我不能改变任何东西。 从Session对象的Electron文档[1]我收集到,我应该使用像persist:someName这样的分区,以便拥有一个持久存储,但是在应用程序重新启动之间,这看起来并没有持续存在。 我目前设置cookie的方式如下: // main-process/login.js const session = require('electron').session; const currentSession = session.fromPartition('persist:someName').cookies; currentSession.set({ name: 'myCookie', url: 'https://www.example.com', value: 'loggedin=1', expirationDate: 1531036000 }, function(error) { console.log('Cookie set'); if (error) { console.dir(error); } }); 运行后,我看到Cookie set输出,但重新启动应用程序并运行以下代码: // main.js const session = require('electron').session; const currentSession = session.fromPartition('persist:someName').cookies; currentSession.get({}, function(error, cookies) { console.dir(cookies); if (error) […]

电子远程全球价值undefined

我使用var remote = require('electron').remote; 并尝试使用remote.getGlobal('config').siteUrl获取值 在我的main.js中,我使用global设置值。 global.config = {siteUrl:"https://localhost:8088"}; 在html端(渲染器端)我在mac上创builddarwin .app时获取的值为undefined 。 另一方面,当我运行应用程序使用npm start它工作正常。