Tag: 电子

无法在Windows 10中安装电子

您好,我正尝试使用以下命令在我的Windows系统中安装电子。 – npm install -g electron – npm install electron – npm install electron –save-dev 对于所有这些命令,我​​收到以下错误。 C:\Users\abc\Desktop\final\new>electron@ 'electron@' is not recognized as an internal or external command, operable program or batch file. C:\Users\abc\Desktop\final\new>npm install electron > electron@1.6.6 postinstall C:\Users\abc\Desktop\final\new\node_modules\electron > node install.js C:\Users\abc\Desktop\final\new\node_modules\electron\install.js:47 throw err ^ Error: ENOENT: no such file or directory, lstat 'C:\Users\abc\Desktop\final\new\node_modules\electron\dist\resources' […]

哪个babel插件声明这个var?

我试图开始auth0-lock这个电子项目 。 在一个auth0的嵌套的依赖项( node-formidable )中,这个行在文件的顶部: if (global.GENTLY) require = GENTLY.hijack(require); 这是他们用来testing覆盖全局需求,但设置global.GENTLY为false应该绕过它的开发模式。 然而,在这个项目中的webpack / babel configs(下面)中的东西正在改变这一行: var require;if (global.GENTLY) require = GENTLY.hijack(require); 这是覆盖全局require和打破其余的文件/构build与require is not a function 我正在通过插件一个接一个地find正在做的事情,但到目前为止没有做任何事情。 任何人都知道什么设置会导致这种覆盖? // .babelrc { "presets": [ ["env", { "targets": { "node": 6 }, "useBuiltIns": true }], "stage-0", "react" ], "plugins": ["add-module-exports", "dynamic-import-webpack"], "env": { "production": { "presets": ["react-optimize"], […]

VS代码AMD模块系统

我正在使用TypeScript来处理Electron应用程序,并且在尝试找出要使用的模块加载系统时遇到了一些问题。 我一直在深入研究VS Code代码(因为许多人认为它是电子应用程序的“海报小孩”),以便更好地理解约定/做某些事情的最佳方法,我注意到他们正在使用AMD模块(在src下的tsconfig.json文件中,选项"module": "amd" , "moduleResolution": "classic"和"baseUrl": "."都设置了),它们似乎正在使用requirejs-like调用某些东西,比如将URL加载到BrowserWindow中,在那里使用require.toUrl('vs/workbench/electron-browser/bootstrap/index.html'); 获取完整的URL加载。 从我的(理所当然有限的)理解,这解决了一个问题,我运行到我的TypeScript(位于src目录)编译到输出目录(调out ),然后提供.js文件电子执行,这意味着我的path像mainWindow.loadUrl(__dirname + '/index.html') out/index.html mainWindow.loadUrl(__dirname + '/index.html')突然指向out/index.html而不是预期的src/index.html 。 但是,当我通过VS代码项目searchrequirejs模块的任何参考,我找不到任何东西,除了包含此代码的require.d.ts文件 declare var define: { (moduleName: string, dependencies: string[], callback: (…args: any[]) => any): any; (moduleName: string, dependencies: string[], definition: any): any; (moduleName: string, callback: (…args: any[]) => any): any; (moduleName: string, definition: any): any; (dependencies: string[], […]

Spectrontesting产生JScript语法错误

我试图testing电子的spectrontesting方面,但当我正在通过一个教程,我不断收到这个错误信息,每当我运行npm run test:e2e 。 我的testing文件语法正确,但我不知道为什么我通过编译遇到错误 眼镜: Nodejs 6.10.3 电子1.6.1 这是错误信息 这里是json文件package.json { "name": "your-app", "version": "0.1.0", "main": "main.js", "scripts": { "start": "C:/Users/Livs/Documents/imdc/logger/node_modules/.bin/electron .", "test:e2e": "C:/Users/Livs/Documents/imdc/logger/test.js" }, "devDependencies": { "electron-chromedriver": "^1.7.1", "electron-prebuilt": "^1.4.13", "electron-rebuild": "^1.5.11", "chai": "^3.5.0", "chai-as-promised": "^5.3.0", "electron": "^1.3.4", "mocha": "^3.0.2", "spectron": "^3.4.0" } } 下面是testing文件test.js const Application = require('spectron').Application; const path = require('path'); […]

从Electron生成子节点进程

我有一个现有的节点脚本,我从CLI运行像node script.js –args 。 我正在尝试构build一个Electron应用程序来replaceCLI。 要运行实际的脚本,我可以使用child_process : function run(arg) { const script = spawn("node", ["./script.js", "run", "–arg", arg], { cwd: TOOLS_DIR, env: process.env }); script.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); script.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); script.on('close', (code) => { console.log(`child process exited with code ${code}`); }); } 然而这只有当我从我的应用程序文件夹启动electron时才起作用 当我使用electron-packager运行构build的应用程序时, run()调用失败,出现错误: Uncaught Error: […]

电子:如何只在电子中静电印制html(div)的一部分?

我想要实现的是, 远程托pipe并正在我的电子应用程序中加载的网页将希望电子应用程序只打印一个特定的div元素。 我知道如果我使用webContents.print({silent:true})整个页面将无声打印。 但是我只想要一个特定的div发生同样的事情。 提前致谢。

node.js电子bootstrap-tourpopup窗口不是一个函数

HY, 我做了一个node.js应用程序,我有一个bootstrap-tour的问题。 我有两个文件index.js和tour.js 在index.js我有这样的事情: window.$ = window.jQuery = require('jquery'); require('bootstrap'); require('./tour.js'); 并在tour.js这样的事情: const Tour = require('bootstrap-tour'); var tour = new Tour({ steps: [ { element: "#account", title: 'Your account', content: 'Lorem ipsum dolor sit amet.' }] }); tour.init(); tour.start(); 但是我在电子控制台中有这个错误: Uncaught TypeError:$ element.popover不是Tour._showPopover的函数 我试图添加require('bootstrap'); 只是在const Tour = require('bootstrap-tour');之前const Tour = require('bootstrap-tour'); 但同样的错误仍然出现。 有人可以帮助我吗? PS:这是一个好办法吗? 或者是把所有的JavaScript放在<script>标签中,把所有的代码放到document.ready函数中呢? […]

Angular-CLI +电子找不到模块“path”

我正在使用Angular CLI的Electron,并试图获取我的文件的相对path。 我试图为它使用path模块,因为它在main.js中工作,电子是魔术。 main.js const path = require('path') 当我切换到app.component和导入pathVSCode显示没有错误,并将path识别为模块 但是,当我尝试服务的应用程序,webpack抛出一个错误 ERROR in D:/Projects/project/src/app/app.component.ts (2,23): Cannot find module 'path'. 我试图在node_modules文件夹中findpath模块,并find4个包含'path'的文件夹,这导致我相信电子main.js中使用的节点的require()函数比加载node_modules中的单个文件夹的内容复杂一点。 所以,我的问题是如何在我的组件中导入path方法(可能还有其他方法)?

解码/阅读json复杂文本文件的一部分

我开始使用Electron开发桌面应用程序。 这个应用程序将parsing一些文件和数据将显示从这些文件。 这些文件包含复杂的数据。 现在,我试图从一个复杂的文本文件中获取json数据。 这个文本文件包含一些string和json对象。 示例文件如下所示: …strings that I'm not interested in… { "partOneA":0, "partOneB":7, …. } …randomly strings may stand between json sections… { "partTwoA":7, "partTwoB":4, "partTwoC":4, … } { "differentPartA":3, "differentPartB":5, "differentPartC":6, … } …somemoretext…. 问题是,我怎样才能从这个复杂的文件使用JavaScript的JSON部分? 应该考虑解决scheme的性能。 另外 ,考虑到json结构是这样嵌套的: { "partOneA":0, "partOneB" :{ "partOneBnode1":0, "partOneBnode2":7, } } 正则expression式parsing不适用于此问题。 现在,我试图find一个基于JavaScript的解决scheme。

一个被分叉的child_process是否可以作为父项,并且也可以分叉新进程?

在我的电子应用程序的用户界面(UI)中,有一个button,点击后使用child_process.fork()旋转另一个脚本。 这个新的孩子使用process.send()来传递状态消息来更新进度的UI。 这一切都很好 。 然而在孩子的过程中,有时候需要平行地做一些工作(Stage6)。 在Stage6中,我使用相同的child_process.fork()方法来启动8个工作。 debugging消息表明,这8名工人确实叉正好; 我在一个数组中保留对它们的引用,一切似乎都很好。 问题是,一旦这八名工人分手, 我再也没有听到他们的消息 。 他们使用process.send()发送的消息永远不会被Stage6接收。 就像他们不存在 现在,这里有趣的部分! 在Electron之外,我创build了一个testing脚本(使用CLI上的Node)以与Stage6完全相同的方式启动这8个工作人员,他们工作得很好,testing脚本听到他们的消息。 所以问题不在于工人,而在于如何推出。 在Electron中,自己分叉的一个进程(在我的例子中是一个用户界面)是否也是一个“父母”? 我们可以在叉子里面叉吗? 还是那太分散了?