Tag: node webkit

有没有一个zip存档创build/解压模块Node.js工作/维护?

我意识到这可能是一个广泛的/超范围的问题 – 但似乎没有任何现有的节点模块是稳定/工作/有用的? adm-zip是我尝试过的最好的,但有时会读取现有的拉链,似乎不支持缓冲区,并经常写的拉链是无效的? node-zip(jszip的包装器)几乎失败了,我试过了 – 它读取大部分的zip文件失败,并且创buildzip文件的function有限,并且再次写入奇数的无效文件 我发现的其他图书馆都显得漫长而无法维持? 这似乎是Node的一个巨大漏洞 – 尤其是一些工具需要与zip兼容的存档支持(例如Node Webkit,它需要一个压缩包(而不是tar.gz))

JSZip内存问题

我在Node.js应用程序中遇到了很大的内存消耗,当一个接一个地加载〜100MB zip文件时,它将它们作为“NodeBufferReader”保存在内存中。 我正在使用的库称为JSZip,可以在这里find: https ://stuk.github.io/jszip/ 如果我访问相同的zip文件两次,那么它不会增加内存使用量,但是对于每个“额外的”.zip文件,我访问内存的时间大约会增加.zip文件的大小。 我所访问的文件大概都在100MB或更大,所以你可以想象这有可能变得相当大,相当快。 Node.js应用程序是一个websocket服务器,它从.zip文件中读取文件并将其作为base64数据返回给请求者。 有问题的function在这里: function handleFileRequest(args, connection_id) { var zipIndex = 0, pathLen = 0, zip_file = "", zip_subdir = ""; try { if (args.custom.file.indexOf(".zip") > -1) { // We have a .zip directory! zipIndex = args.custom.file.indexOf(".zip") + 4; pathLen = args.custom.file.length; zip_file = args.custom.file.substring(0, zipIndex); zip_subdir = args.custom.file.substring(zipIndex + […]

Node-Webkit – 计算部分下载文件的散列

我目前正在计算来自opensubtitles-client节点的Hasher.js文件的哈希值。 我不认为这是一个MD5散列,我相信这是一个来自OpenSubtitles的自定义algorithm 。 使用Hasher.js,通过文件path来计算文件的散列,我会使用: require("Hasher.js").getHash(file).done(function(hash){ fileHash = hash; // this is the file hash }); (其中“文件”是文件path) 这适用于完全下载的video文件(我认为即使是至less下载60-70%的文件)。 如果less于60%的文件是可用的,它总是得到相同的散列(尽pipe这不是正确的散列),并且在(可能)60%之后它总是得到正确的散列。 有什么我错过了,有没有任何节点的WebKit,Node.js或纯JavaScript实现,总是可以计算正确的部分下载文件的哈希? 或者这是从部分文件计算散列的正常限制? 如果是这样,为什么总是返回相同的2个哈希(错误的和正确的)? 多less文件真的需要直接得到正确的散列?

如何知道是否使用Node js安装了特定的Windows服务?

我是新的节点JS。 我正在用web-kit构build一个新的桌面应用程序。 我的一个要求是validation是否在Windows上安装了确定的服务。 我怎么能在Node js上做到这一点? 我知道如何使用Node Js在进程列表中find应用程序。 但我真正需要的是它是否安装,因为它可以停止,但安装。

如何在节点webkit(nw.js)桌面应用程序login用户数据login

我想创build一个基于节点webkit的login桌面应用程序。 我看到一个使用名为diskdb的模块在本地存储用户数据的教程。 我的问题是在每个最终用户的个人电脑本地存储,对不对? 那么这是否意味着如果有人在一台PC上注册,但他不能在另一台PC上login? 在实际产品中,我们是否应该使用像云中托pipe的MongoDB来存储用户数据? 抱歉,我很新的桌面应用程序。 我认为桌面应用程序必须与云中的数据库交换大量的数据,这是通过直接数据库操作或Web服务实现? 或者有其他方法可以做到这一点。 提前感谢您的任何build议!

节点js中的模块化编程

在我们的节点js应用程序中,所有api调用都在server.js中。 它是一个工作的应用程序,但我不满意每个API写在一个文件,即server.js。 许多与节点js应用程序有关的例子,指向在一个名为app.js或server.js的文件中编写服务器端调用。 为了实现代码模块化,我计划将不同的文件(如employee.js(员工相关数据事务),library.js(库相关数据事务)等)分离到各个模块。 不确定这是否是正确的方法,因为node.js服务器需要在应用程序调用时启动。 所以,如果api被分配到不同的文件,那么就需要检查一下如何启动节点js服务器。 另外,我们已经将node-webkit与应用程序集成在一起。 在这方面需要build议。

Nodeweb套件崩溃 – Events.js:85错误

所以我现在正在使用一个节点webkit,并表示在一个覆盆子pi上运行一个应用程序,但是在离开它一段时间后,它只是崩溃的错误: events.js:85 throw er; // Unhandled 'error' event ^ Error: bind ENFILE at exports._errnoException (util.js:746:11) at dgram.js:224:28 at dns.js:85:18 at process._tickCallback (node.js:355:11) 任何人都可以给我一些指点或知道什么是错的吗?

Finder别名不能在Mac上用node.js识别为符号链接

我正在运行一个nodewebkit应用程序,我想search一个文件夹的别名。 以下代码正在工作,但不能将文件夹别名或文件别名识别为符号链接。 我错在哪里? var path = '/Users/test/Desktop/testfolder'; var fs = require('fs'); fs.readdir(path, function(err, files) { if (err) return; files.forEach(function(f) { var newPath = path + '/' + f; console.log("looking for "+ newPath +" symlink: "+fs.lstatSync(path).isSymbolicLink()); fs.lstat(newPath, function(err, stats){ if(err){ console.log(err); } if(stats.isFile()){ console.log('is file mofo',f); } if(stats.isDirectory()){ console.log('is Directory mofo',f); } if(stats.isSymbolicLink()){ console.log('is symbolic link'); […]

Node.js:等待来自asynchronous调用的响应

我正在开发一个API,通过它我可以添加一个用户列表作为JIRA观察者(所以我正在和JIRa REST API交谈) 这是这样做的function: for (var i = 0; i < votes.totalValue; i++) { var voter = { user : votes.rawVoteData[i].user, value : votes.rawVoteData[i].value, email : votes.rawVoteData[i].email, fname : votes.rawVoteData[i].fname, lname : votes.rawVoteData[i].fname }; // Add these users as watchers to the Jira jira.jira.addWatcher(issueId, voter.user, function(err, result){ // TODO: Return to callback rep++; console.log('user='+voter.user); console.log(result); […]

检测操作系统版本并使用正确的PhantomJS二进制文件

我目前正在使用OS X在Node.js&Nwjs内部使用PhantomJS。但是,我想知道如果我将应用程序部署到Windows用户,他们是否也能够运行该应用程序? 有没有办法来检测用户的操作系统,并使用正确的二进制文件?