Tag: node webkit

使用sudo Node Webkit执行命令

我在npm网站上发现了这个,并将其安装在我的机器上。 https://www.npmjs.org/package/sudo 但是当我安装它并复制/粘贴示例代码时,没有任何显示,没有错误,没有提示,没有输出,什么都没有。 由于几乎没有文档可以跟这个,所以我想知道是否任何人有任何洞察正确的使用sudo运行在节点的webkit。

使用节点js从url下载大文件

我想从我简单的http服务器上下载大文件。 我正在使用node-webkit应用程序。 和简单的http.get方法来下载文件,但不是从服务器下载大文件。 这里是我写的代码。 var http = require('http'); var fs = require('fs'); var file = fs.createWriteStream("file.jpg"); var request = http.get("http://something.zip", function(response) { response.pipe(file); }); 当我从本地服务器下载文件时,此代码工作正常。 但是,当我提供服务器上托pipe的文件的url,那么它不工作。 我的应用程序从服务器下载zip文件,但在5-10%之后从互联网下载文件时,连接closures。 请帮忙。

node-webkit辅助内存pipe理

我正在编写一个轻量级的单页面应用程序node-webkit应用程序。 最近我一直在做一些内存分析,以检测内存泄漏,并保持应用程序即使在旧系统上也可用。 我发现我的代码本身的内存效率很高,但是运行它的node-webkit Helper进程随着时间的stream逝而不停地吃越来越多的内存。 要提供一个简单的“重启”function,我只需重新加载页面; 我认为这也将清除内存中的大部分对象,但是我发现node-webkit Helper的内存使用量在每次重新加载时实际上增加了近10 MB! 在node-webkit的问题页面上的这个问题线程中 ,我发现了这个神奇的代码行 require('nw-gui').Window.get().reload(3) 这似乎重新加载页面,同时清理一些内存(我通常最终节省了约50MB的节点WebKit加上我的应用程序需要约15 MB),但它是有点hacky(也,它只能执行一次显然是相同的页面,所以我必须链接它与location.reload()来实现“清除一切,重新启动”function)。 有没有人有任何线索,如何保持node-webkit的助手内存使用情况和/或提供某种“重新启动”function在一个不太冒险的方式? 关于内存pipe理如何在node-webkit的上下文中进行解释的解释是值得赞赏的,因为这个主题看起来相当复杂,并且没有很多容易理解的来源。

Socket.io + SailsJS:聊天应用程序 – 如何检查客户端是否closures,并使用户脱机?

我在node-web kit和SailJs中创build了一个多用户聊天应用程序,并试图实现用户的login状态。 用户在打开应用程序时联机。 用户下线的情况是: 用户点击注销button 用户closures应用程序窗口。 用户closures他/她的系统。 用户closures系统时,注销状态不起作用。 这是我写的代码的一部分: UserSocket.find({ companyId: user.companyId }, function (err, sockets) { if (!err && sockets != undefined && sockets.length > 0) { socketList = _.pluck(sockets, "socketId"); sails.sockets.emit(socketList, 'userOffline', { previous: user }); } }); 请帮我解决这个问题。 提前致谢。

node-webkit(nwjs):如何普遍应用“新政策”?

我正在使用node-webkit构build一种特定于站点的浏览器,并且我需要将策略应用到DOM准备就绪的任何新页面。 我已经了解到,“新政策”事件是要走的路,而且必须在每个窗口(DOM)的窗口上下文中加载,根据这个问题/答案: 如何处理在node-webkit中正确打开_blank窗口的链接? 问题是:是否可以从node-webkit应用程序中包含的main.js中进行修改,还是必须对原始网站进行修改? (IOW,我是否必须让网站node-webkit意识到要实现我所瞄准的目标?)

Node-Webkit将不会打开文件

首先,我要感谢您花时间阅读本文。 我正在尝试打开以下目录结构中的JSON文件: #–> Root Folder –> App.exe #–> Configuration —> JSON File 所以我使用了Code: var ConfigFile = "./Configuration/JSON.json"; 其次是: var fs = require('fs'); var file_content = fs.readFileSync(ConfigFile); var content = JSON.parse(file_content); // Manipulate the Data 出于某种奇怪的原因,Node-Webkit似乎正在寻找Temp目录中的文件夹: C:\用户\用户\应用程序数据\本地的\ Temp \ nw9740_14956 \configuration 该文件不存在,因此在控制台中,我得到以下错误: 未被捕获的错误:ENOENT:没有这样的文件或目录,打开'C:\ Users \ User \ AppData \ Local \ Temp \ nw9740_14956 \ Configuration […]

在Node Webkit中使用HTML代码执行.exe或.bat文件

我正在使用节点Webkit,我想有一个HTML文件执行本地文件如.exe或.bat ,而不是下载它。 我试图在HTML文件(index.html)中使用它: <a href="installer/setup.exe" >setup</a> 但它不起作用。

如何在Node Webkit中使用相对path

我不能使用相对path: gui.Shell.openItem(); ,这里是代码: var gui = require('nw.gui'); gui.Shell.openItem('setup/BitTorrent.exe');

使用Node Webkit,Sequelize和SQLite3,保存()和get()失败

我不完全确定我的问题是什么,但标题是我最好的猜测。 包括我的错误日志和思考过程。 我希望有人能帮帮忙。 /Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/captured_trace.js:478 Unhandled rejection Error: TypeError: Illegal invocation at Object.ensureErrorObject (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/util.js:228:20) at Promise._rejectCallback (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:416:22) at Promise._settlePromiseFromHandler (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:460:17) at Promise._settlePromiseAt (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:530:18) at Promise._settlePromises (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/promise.js:646:14) at Async._drainQueue (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/async.js:177:16) at Async._drainQueues (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/async.js:187:10) at Immediate.Async.drainQueues [as _onImmediate] (/Users/fjcero/project/node_modules/sequelize/node_modules/bluebird/js/main/async.js:15:14) at processImmediate [as _immediateCallback] (timers.js:321:17) 我开始使用SQLite作为单个应用程序数据存储。 我selectSequelize作为ORM,因为它非常简单。 在web上下文中,这意味着通过Node.js运行应用程序一切正常。 当我尝试在NW.js上下文中运行相同的应用程序时,问题就开始了。 首先,SQLite3应该以特定的方式进行编译。 我做到了,一切顺利。 我定义了Sequelize模型,并且在执行sync()时,如果不存在,则创build所有表,并且架构是指定的。 这意味着,在某些时候SQLite3和Sequelize连接良好,一切都如预期的那样。 当我尝试使用save()或get()方法时,奇怪的问题就开始了,因为带Promise的东西失败了。 我想这可能是由于支持NW编译的SQLite模块。 我不知道这是库故障,还是一些缺失的标志,或者NW上下文在Sequelize和SQLite通信之间打破了什么。 既然这只发生在一个NW的背景下,我select在这里问,所以我可以知道我做错了什么,或者我怎么能debugging这个东西。 任何起点都将被赞赏,无论是解决scheme,还是解释如何在Node Webkit中进行debugging。

在节点webkit中导入节点模块的正确方法

我正在开发一个节点networking工具包应用程序,并希望在我的项目中导入节点模块。 我的主页是index.html。 在index.html中,我已经包含了包含我的主节点逻辑的文件。 然而,在app.js中,如果我包含任何模块,使用var cheerio = require("cheerio"); 它说模块没有find。 这是因为,index.html位于我的工作目录中,当我运行代码时,当前工作目录更改为C: Drive中的某个临时文件夹。 如何在app.js包含我所需的文件? 我所有的节点模块都位于名为node_modules的文件夹中 文件夹目录结构如下所示: node_modules \cheerio package.json index.html app.js