我已经使用节点编写了电子应用程序,但是,当我尝试使用npm run release使用样板模块构建应用程序时,情况的顺利顺利.我可以很好地安装和打开应用程序,但是当我单击激活幻影模块的按钮时,窗户变为白色,什么也不会发生.我能够使用开发工具来记录一些错误. 首先,我有: C:\...\dist\win-unpacked\resources\app.asar\node_modules\phantom\lib\phantom.js:361 Uncaught (in promise) Error: Error reading from stdin: Error: write EPIPE(…) 我对类似问题进行了一些研究,即所以我尝试将npm幻影模块换成Unhandled rejection HeadlessError: Phantom immediately exited with: 4294967295 at ChildProcess.immediateExit (C:\..
以下是关于 electron 的编程技术问答
当我尝试将无头浏览器与桌面节点shell一起使用时,我会收到"模块版本不匹配错误".我尝试了NW.JS和Atom-Shell的Zombiejs和Phantomjs;在这两种情况下,一旦无头浏览器播放应用程序崩溃,模块不匹配错误. 这是phantomjs和Atom-shell的错误: Uncaught Exception: Error: Module version mismatch. Expected 41, got 14. at Error (native) at Object.module.(anonymous function) (ATOM_SHELL_ASAR.js:118:20) at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:118:20) at Module.load (module.js:370:32) at Function.Mo
我需要在许多地方执行具有管理权的代码.我找到了sudo.exe,并成功提示用户获取权限和密码.我仍然无法弄清楚如何确切使用sudo.exe.由于我在删除需要管理员许可的文件时遇到了同样的权限拒绝的错误.这就是我的代码的样子: const fs = require('fs') var sudo = require('sudo-prompt'); var options = { name: 'Electron', }; sudo.exec('echo hello', options, function(error, stdout, stderr) { if (error) throw error; // Code that I want to run with admin rights fs.unlinkSync("/private/var/log/fsck_hfs.log", (err) => { alert("File
我们正在建造一个带有电子(Nodejs 7.4.0/Electron 1.6.11)的餐厅POS系统.对于POS系统,速度和可靠性是两个最重要的要求,在花了一些时间构建应用程序之后,我们不再确定电子是否适合我们. 速度似乎是主要问题.为了进行测试,我们构建了一个仅显示2个" Hello World" HTML页面的应用程序,没有任何其他JavaScript或任何其他资产.在现代iMac上运行时,在页面之间切换时,在页面加载之间会闪烁白色.在运行Windows 7的旧PC上,最多需要1秒钟才能在这2页之间切换. Mac上的加载时间为空的" Hello World"页面167ms. 现在,直接在Chrome浏览器中运行这两个页面,这些页面立即加载,没有任何加载时间,并且页面加载之间没有白色闪光灯.网络检查员40ms. 加载JavaScript文件和图像的更复杂的页面的速度差异更为重要(即使所有内容都在本地加载) 电子与铬的加载时间更长的原因是什么? 我们会做什么?
上下文 我花了几个小时来玩电子,我观察到,在屏幕上画一个琐碎的HTML文件,始终需要超过2.5秒的时间.时间轴大致如下: 60 ms:app ready事件是触发的;我们使用new BrowserWindow() 创建一个窗口 170毫秒:屏幕上出现一个空白窗口 2800毫秒:窗口显示指定的HTML 我已经设置了一个 repository 用我的代码衍生出来,该代码来自electron's 快速启动 docs. 关于我的机器,我从2016年的ThinkPad T460上运行Windows 10,并使用SSD和足够的内存. 问题 运送一个在启动时很长时间显示空白窗口的应用程序对我来说是不对的.我认为大多数开发电子应用程序的人都类似地思考.因此,我的第一个问题:我做错了什么?还是这是一个琐碎电子应用的预期加载时间? 假设这是正常行为,解决此问题的常见方法是什么?我想到了一些想法: 要求电子显示飞溅屏幕:除非为此具有特定的内置功能,否则似乎是
上下文 我已经设置了 Trivial Electron App 显示了一个普通的HTML文件,并且始终如一地使用两个以上的文件几秒钟开始.关键性能测量是: 170毫秒:屏幕上出现一个空白窗口 2800毫秒:窗口显示指定的HTML 询问它,我发现问题是由Windows Defender引起的.禁用其实时保护可以使我们获得可接受的启动速度: 150毫秒:屏幕上出现一个空白窗口 500毫秒:窗口显示指定的HTML 虽然此加速完全解决了问题,但要求用户禁用Windows Defender以使启动更快. 问题 我观察到一些流行的电子应用,例如Visual Studio代码,具有正常的启动时间,因此我认为可以在不禁用Windows Defender的情况下实现这一目标.问题是:如何? 我唯一想到的是签署电子二进制文件,希望它能解决问题.但是,由于签名证书的费用为金钱,我宁愿在沿着这条路线之前需要它.如果在此领域有经验的人可以在! 中,那将是很棒的
我正在尝试使用ElectronJS进行桌面应用程序.由于Nestjs使后端开发非常容易,因此我想将其与电子一起使用. 最初我尝试运行命令 电子. && nest start 这仅在关闭电子应用后才开始巢过程. 我在YouTube上仅找到一个视频,而在其他地方没有其他适当的解决方案. 链接:我很难理解它. 如果我能够实现视频中的成就,我还想知道电子和内斯特之间平稳沟通的可能性.对我来说,这似乎不是标准的事情. 解决方案 这并不容易,但也不是不可能的... 我将假设您将与本地Nestjs API服务器一起创建一些Angular Frontend应用程序...那么我们可以使用以下技巧来做到这一点... 使用 xplat 创建您的本地Nestjs应用程序. 用于生产构建的 可以做以下技巧. a)在电子索引中.ts文件添加以下内容可能是在创建窗口函数中. if(!服务){ const {fork} = require('child
我了解printTopdf的电子中的常用方法在main的过程中,以调用以下代码: - const {BrowserWindow} = require('electron') const fs = require('fs') let win = new BrowserWindow({width: 800, height: 600}) win.loadURL('http://github.com') win.webContents.on('did-finish-load', () => { // Use default printing options win.webContents.printToPDF({}, (error, data) => { if (error) throw error fs.writeFile('/tmp/print.pdf', data, (error) => { if (error) throw error
我正在尝试将生成的HTML文档打印到PDF.该文档本身可以包含多个页面.每个页面都是这样构建的: 所有三个页面上的三个看起来都不错.唯一的问题是页脚不会粘在底部...页脚总是会赶上页面的最后一个元素.只要页面上充满了足够的内容,页脚就会如您期望的那样处于底部. 这是我的CSS: .docFooter{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 100%; position: absolute; bottom: 0; padding-ri
我正在尝试创建一个具有打印字母大小pdfs的电子JS应用程序. 这是我的打印代码段: win = new BrowserWindow({ width: 378, height: 566, show: true, webPreferences: { webSecurity: false, plugins: true } }); // load PDF win.loadURL('file://' + __dirname + '/header1_X_BTR.pdf'); // if pdf is loaded start printing win.webContents.on('did-finish-load', () => { win.webContents.print({silent: true, printBackground:true}); }); 我的问题是:如果我有print({silent:true})我的打印机打
我有一个从PHP服务器加载URL的电子应用程序.并且该页面包含一个具有源为PDF的iframe.在普通网络浏览器中,PDF页面似乎完全不错,但要求在电子中下载.有帮助吗? 我的HTML页面的代码是
Hello World!
Some html content here... 和我的JS代码类似于 mainWindow = new BrowserWindow({width: 800, height: 600}) mainWindow.loadURL(url.format({ pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slash
所以我有这个电子应用程序,在一个.html文件中,我链接了另一个为程序提供一些实用程序功能的脚本,其中之一就是一个: function openPDF(filePath){ let pdfWindow = new electron.remote.BrowserWindow({ icon: './build/icon.png', width: 1200, height: 800, webPreferences: { plugins: true } }); pdfWindow.loadURL(url.format({ pathname: filePath, protocol: 'file:', slashes: true })); pdfWindow.setMenu(null); p
我对电子应用非常新.我需要选举安装的帮助. 我有一个电子桌面应用程序和 Windows Service . 我可以使用sudo-prompt软件包启动和停止我的预安装服务. 我正在使用electron-winstaller软件包来创建 Windows安装程序. 但是我想将我的 Windows Service 与我的 Electron应用程序捆绑在一起.我的要求是,当我安装电子包时,它也应该安装我的服务,当我卸载包装时,该服务应卸载. 请帮助我.任何线索,任何建议都将不胜感激. 如果您认为应该与其他事情实现这一目标,请建议我. 解决方案 电子的Windows安装程序包装器为我打动了一个特定的案例工具,该工具可能会在这种情况下达到限制.我将使用一个通用案例工具,例如免费和开源的窗口安装程序XML工具集(aka Wix).我还将与另一个称为工业强度Windows安装程序xml aka iswix的FOSS应用程序一起使用. Wix允许您使用XML/XSD域特定语言来描述和构
我有两个不同的方式为我的电子应用设置图标: 不包装(通过终端运行应用程序) 我的main.js确实指定了"图标"值,指向图标文件,但不应用. 包装(带电子包装器) 我的package.json文件指定"图标"键,指向图标文件,并且我在 build 目录中的.ICNS(MAC)文件.我使用电子包装器来构建该应用程序,但是不应用图标,而是使用默认的电子图标. 不确定我在这里做错了什么,一切看起来都正确. 解决方案 如果您是指码头上的图标,则Mac上应使用: const app = electron.app; const image = electron.nativeImage.createFromPath( app.getAppPath() + "/public/YOUR_APP_IMAGE_NAME" ); app.dock.setIcon(image); 其他解决方案 这里有一个很好的教程: 遵循步骤,但请确保您不跳过任何内容.
我使用 strapi ,我试图使用电子构建器将其包装在电子中. 包装做得很好,但是当我启动应用程序时,它显示此消息 PS E:\Development\DentalSystem\dentalBE_test\dist\win-unpacked> (node:13196) UnhandledPromiseRejectionWarning: Error: Cannot find module 'E:\Development\DentalSystem\dentalBE_test\dist\win-unpacked\package.json' Require stack: - E:\Development\DentalSystem\dentalBE_test\dist\win-unpacked\resources\app\node_modules\strapi\lib\Strapi.js - E:\Development\DentalSystem\dentalBE_test\dist\
我目前正在进行一个Python项目,我想在电子应用中显示结果.我在YouTube上看到了有关如何在Mac上设置电子的演示视频.该视频显示了在终端中执行的3个简单步骤: git clone https://github.com/electron/electron-quick-start cd electron-quick-start npm install && npm start 当我第一次运行上述命令时,它对我来说很好.我能够启动电子应用. 但是,当我尝试使用命令npm start重新启动应用程序后,进入electron-quick-start目录后,我将无法打开应用程序. 我不断收到错误消息,如下所示: (base) Viveks-MacBook-Pro:electron-quick-start vivekchowdary$ npm start npm ERR! path /Users/vivekchowdary/package.json npm ERR!
我通常会在MacOS上开发,但我将项目移至Windows 10,以解决某些特定于Windows的问题.进行更改时,我使用electron-reload重新加载应用程序.它一直在MacOS上工作,但在Windows上破裂. 使用下面的设置,npm start启动应用程序,在窗口上会引发错误:"'APP__DEV' is not recognized as an internal or external command" 我做错了吗,Macos只是"宽容"?我看到了这个问题:设置process.env in package.json in package.json 而且所接受的答案看起来与我正在做的事情一样,所以我感到困惑. 在我跳下兔子洞之前,我想我会问我正在做的事情是否简单. 如果很重要 - 将项目移至Windows时,我没有进行任何CTLF的转换,我只是使用DropBox将其复制. package.json "start": "APP_DEV=tru
我是React.js的新手 这是我的render.js文件 var React = require('react'); var ReactDOM = require('react-dom'); var $ = jQuery = require('jquery'); var bootstrap = require('bootstrap'); //var createReactClass = require('create-react-class'); var MainInterface = React.createClass({ render: function() { return(
SUCCESSSSSSSSSSS
); }//render });//MainInterface ReactDOM.render( , document.getElementById('projects'
根据官方网站,保存电子文件的正确方法是: npm install electron --save-dev 实际运行该应用程序实际上是必需的(字面上是:require()),这与在这里投票的最高答案.那么,为什么我们会例外,如果是一个? 解决方案 您require软件包与是否应视为依赖性或DEV依赖性(在NPM意义上)无关.例如.许多项目都使用webpack API(即const webpack = require('webpack')),但将其列为DevDecentency. 您链接到的帖子中也会说明原因:当您的软件包publish时,如果消费者项目需要其他软件包才能使用您的软件包,则必须将其列为dependencies. 如果您的软件包仅将一些模块用于构建,测试或捆绑到DIST文件中(即,消费者项目将使用的是什么),则不应在dependencies中提及这些模块.我们仍然在devDependencies中列出它们的开发. 现在,在电子应用程序的情况下