Tag: 电子

在电子应用程序中search文件系统

是否有可能使用电子应用程序search/索引文件系统/硬盘(Windows或Mac或Linx)。 有没有可以做到这一点的节点包/function?

Electron JS,使用Express后端和单独的html前端启动应用程序

我有一个单独的ExpressJS后端和单独的HTML前端的应用程序。 我的ExpressJS后端位于root/scripts/server.js 我的HTML正面位于root/index.html 。 这个前面使用了从webpack生成的javascript逻辑,它工作正常。 为了使这个项目工作,我首先用这个命令启动我的ExpressJS后端: babel-node ./scripts/server.js –presets es2015,stage-0 然后我打开我的index.html ,一切正常。 现在我想通过使用ElectronJS在一个桌面应用程序中打包后端和前端。 我的项目有以桌面模式启动电子应用程序的main.js脚本。 它位于root/main.js 。 它有以下代码: const electron = require('electron') const app = electron.app const BrowserWindow = electron.BrowserWindow const path = require('path') const url = require('url') let mainWindow function createWindow () { mainWindow = new BrowserWindow({ width: 800, height: 600, autoHideMenuBar: true, useContentSize: true, […]

如何收集Electron桌面应用程序的用户指标?

我想收集一些基于Electron的跨平台桌面应用程序的使用指标。 这将包括有关用户环境(操作系统,屏幕大小等)的基本信息以及跟踪使用情况的能力,例如跟踪应用程序打开次数或应用程序内的特定操作。 这些度量标准应发送到分析服务器,以便可以对其进行汇总查看。 理想情况下,我可以自己托pipe服务器端组件,但肯定会考虑由第三方托pipe的解决scheme。 针对networking(Google Analytics,Piwik)以及移动应用程序,以及针对Node.js服务器端应用程序的解决scheme,有各种各样的分析解决scheme。 适用于基于桌面电子应用的这些解决scheme之一是否可行? 怎么样? 还是有没有什么好的分析解决scheme专门devise用于与Electron / javascript协同工作的桌面应用? 与典型的网页不同,用户可能会在离线状态下使用应用程序,因此离线操作应在用户上线后logging,排队并稍后发送。 桌面应用程序通常从文件系统加载页面,而不是HTTP,所以解决scheme需要能够应付这种情况。 与Node.js服务器端应用程序不同,可能有大量的客户端,而不仅仅是一个(或几个)服务器实例。 桌面应用程序的分析将以用户为中心,而服务器端的Node.js应用程序可能不是。 易于设置也是一个很大的因素 – 理想的解决scheme只需要几行configuration来收集基本指标,然后可以根据需要使用自定义操作/事件进行扩展。

NodeJS +电子 – 优化显示大文件

我正在尝试阅读大文件。 目前,我正在关注如何读取大文件的NodeJS文档,但是当我读取一个有点大的文件(〜1.1 MB,〜20k行)时,我的Electron应用程序冻结了大约6分钟,然后应用程序完成加载所有线。 这是我目前的代码 var fileContents = document.getElementById("fileContents") //first clear out the existing text fileContents.innerHTML = "" if(fs.existsSync(pathToFile)){ const fileLine = readline.createInterface({ input: fs.createReadStream(pathToFile) }) fileLine.on('line', (line) => { fileContents.innerHTML += line + "\n" }) } else { fileContents.innerHTML += fileNotFound + "\n" console.log('Could not find file!!') } 而我<xmp>标签是一个<xmp>标签。 什么是人们展示大文件的方式?

在电子应用程序中dynamic加载html文件

我是新来的JS开发,基本上从PHP背景。 我想知道是否有一种包含html页面的方式,就像我们在codeigniter(加载视图)中一样。 我试图创build一个模板结构到我的电子应用程序的页眉和页脚文件加载在每个请求的每个HTML页面。 我不能尝试jQuery加载方法 $('#footer').load('header.html'); 因为我需要加载jQuery的脚本我创build的每个文件的HTML文件。 我试图加载HTML文件的JS方式 document.getElementById("head").innerHTML='<object type="text/html" data="header.html" ></object>'; 但基本上会创build一个类似于iframe的对象,所以您的资源永远不会被用来使用link和script标记加载的方式。 我有一个main.js文件从主页将被加载: function createWindow () { // Create the browser window. mainWindow = new BrowserWindow({width: 1280, height: 742, resizable:false}) // and load the index.html of the app. mainWindow.loadURL(url.format({ pathname: path.join(__dirname, 'app/views/index.html'), protocol: 'file:', slashes: true })); } 如何直接在这个方法中附加页眉和页脚? 另外我使用快递,如果有帮助。

使用app.quit()closures电子应用程序中的所有打开的窗口是不好的做法?

我有一个与NodeJS和Express的电子应用程序。 我有一个文件(app.js)的主要stream程代码和另一个文件(router.js)中的路由。 主文件创build主窗口: mainWindow = new BrowserWindow({width: 1280, height: 800, icon: iconPath}); 每当您点击应用程序中的PDF文档链接时,路线文件都会创build一个新窗口: router.get('/docs/:module/:type/:file', function(req, res) { openPDF(req.params.module,req.params.type,req.params.file); res.end(); }); // open pdf's in a new window let newWindow; const openPDF = function(module,filetype,filename) { let file = 'file:///' + __dirname + '/app/docs/' + module + '/' + filetype + '/' + filename; let newWindow = […]

电子运行多个主要进程vs多个浏览器窗口

我在Linux服务器上运行电子邮件进行networking抓取。 目前我正在为每个任务运行新的电子命令。 但是这会导致很高的CPU使用率。 现在考虑运行单电子实例,并为每个任务创build新的BrowserWindow。 为了适应这种风格的代码库需要一些时间,所以我想先问一下。 它会影响CPU使用率,多less?

PouchDB与LevelDB适配器应该创build一个本地文件?

本小册子示例( Leaflet.TileLayer.PouchDBCached )使用“ idb ”适配器,对于电子/节点,它看起来像我想使用“leveldb”适配器。 所以我按照这里的指示: Node.js中的PouchDB 在Node.js中,适配器的情况比浏览器简单得多。 默认情况下,如果你创build一个像这样的PouchDB: var pouch = new PouchDB('./ path / to / db'); 那么将在目录./path/to/db中创build一个基于LevelDB的数据库。 LevelDB实现使用LevelDOWN。 在我的“main.js”(电子入口点),我创build一个像这样的数据库: var dbPath = path.join(__dirname, 'main-db'); var myDB = new PouchDB(dbPath); console.log('myDB', myDB.adapter); 尽pipe适配器types被报告为“leveldb”,但它并不显示在磁盘上。 问题:数据库在哪里创build? 我查看了我的app目录中的node_modules / pouchdb目录。 我甚至find“隐藏的文件”(这是在OSX上)。 是什么赋予了? 如果我将数据库实例转储到控制台,它看起来像创build(在内存中)。 我是否“做错了”?

如何启用paypal在电子书中运行的brainstree?

我在nodejs中运行braintree支付系统,这个快速的应用程序正在通过桌面电子运行。 通过标准信用卡支付工作正常,但是当贝宝button被点击时,它只是失速。 看下面的图片。 当你点击取消贝宝login没有任何反应。 以下是braintree支付的html格式 <script src="https://js.braintreegateway.com/js/braintree-2.30.0.min.js"></script> <script> // We generated a client token for you so you can test out this code // immediately. In a production-ready integration, you will need to // generate a client token on your server (see section below). var clientToken = document.getElementById('token').value; braintree.setup(clientToken, "dropin", { container: "payment-form" }); </script> […]

为什么分叉的subprocess在我分叉后立即退出?

我只是试图分叉一个简单的subprocess,并让IPC通道保持打开状态,但由于某种原因它会立即退出。 在parent.js中: var child = require('child_process').fork('./child.js'); child.on('hi', function() { console.log("Hi"); }); child.on('exit', function() { console.log("Exited"); }); child.send('hello'); 在child.js中: process.on('hello', function() { process.send('hi'); }); 我立即将“退出”打印到控制台上,并且从来没有得到“嗨”。 然后,如果我继续尝试发送到subprocess,我得到一个通道closures错误。 我做错了什么?