Articles of javascript

node.js压缩ZIP到内存

我想压缩一些数据到一个writableStream。 目的是在内存中完成所有操作,而不是在磁盘上创build实际的zip文件。 仅用于testing,我在磁盘上创build一个ZIP文件。 但是,当我尝试打开output.zip我得到以下错误:“存档是在未知的格式或损坏”。 (Windows 7的WinZip,MAC也有类似的错误) 我究竟做错了什么? const fs = require('fs'), archiver = require('archiver'), streamBuffers = require('stream-buffers'); let outputStreamBuffer = new streamBuffers.WritableStreamBuffer({ initialSize: (1000 * 1024), // start at 1000 kilobytes. incrementAmount: (1000 * 1024) // grow by 1000 kilobytes each time buffer overflows. }); let archive = archiver('zip', { zlib: { level: 9 } […]

正确的方法来堆栈选项承诺

用承诺收集来自数据库的所有数据的适当或最好的方法是什么,但使用本地Node承诺。 目标只是提出select什么: const allPromises = []; const selected = { sectionA: true, sectionB: false, sectionCIds: [ 1, 2, 4 ], }; if (selected.sectionA) { allPromises.push(getSectionADataFromDbPromise()); } if (selected.sectionB) { allPromises.push(getSectionBDataFromDbPromise()); } if (selected.sectionCIds.length > 0) { allPromises.push(selected.sectionCIds .map(getSectionCDataFromDbPromise) ); } Promise.all(allPromises) .then((allResults) => { if (selected.sectionA) { dataA = allResults[0]; } if (selected.sectionA) { dataB […]

从JavaScript中的callback函数返回值?

我正在使用node.js和库翻译 。 我可以做这样的事吗? : function traduce(text){ translate.text(text,function(err,result){ return result; }); } 然后使用结果? 它总是返回我“未定义”。 有没有办法使用这个结果而不做这个? :。 translate.text(text,function(err,result){ // use result // some logic }); translate.text(text,function(err,result){ // use result // some logic });

Node.js SFTP客户端

我想通过node.js应用程序访问sftp服务器。 你知道这个图书馆吗? 或者你有一个想法,我怎么能意识到这一点? 感谢您的回答!

devise模式build议,用于实时同步在线游戏中的多用户数据

我正在开发一个项目来学习node.js,并且正在寻找一些关于如何处理实时同步用户数据的build议。 假设你有一个二维的矩形地图(大概600×400),有多个玩家在该地图上占据x,y的位置。 每个用户都可以使用箭头键进行导航,并以某种基本方式与其他用户交互。 鉴于这将通过HTTP播放,在处理和同步用户数据方面最好的devise模式是什么,以提供最stream畅,最快速的体验? 我可以考虑几个选项,但是会希望得到更多的想法/澄清: 客户端将位置数据发送给服务器,服务器将所有位置分配给所有客户端,屏幕呈现结果。 重复。 不利的一面是,客户端的数据往返时间滞后,但好处是它们与所有用户同步。 客户端在经常性地呈现它,将位置数据发送到服务器,服务器将所有位置分发给所有客户端,然后使用服务器数据更正来自客户端数据的屏幕呈现。 上行是一个快速反应,下行是同步轻微损失。 两者的混合,但不是使用(x,y)坐标,而是使用[先前的x / y和时间,当前的x / y和时间,在时间间隔build议的x / y]的vector,然后可以用于绘制不断变化的抛射path。 看来这将是棘手的实施。 任何指针?

Node.JS Big-Endian UCS-2

我正在与Node.JS合作。 节点的缓冲区支持little-endian UCS-2,但不是我需要的big-endian。 我会怎么做?

Javascript正则expression式:匹配文本不是HTML标记的一部分

我真的希望有一个在node.js中可执行的正则expression式(所以没有jQuery的DOM处理等,因为标签可以有不同的嵌套),匹配所有不是HTML标签的文本或其中的一部分到单独组。 例如,我希望从该string匹配“5”,“ELT。”,“SPR”,“”,“plo”,“Unterricht”,“”,“nbsp”和“plo” <tr class='list even'> <td class="list" align="center" style="background-color: #FFFFFF" > <span style="color: #010101">5</span> </td> <td class="list" align="center" style="background-color: #FFFFFF" > <b><span style="color: #010101">ELT.</span></b> </td> <td class="list" align="center" style="background-color: #FFFFFF" > <b><span style="color: #010101">SPR</span></b> </td> <td class="list" style="background-color: #FFFFFF" >&nbsp;</td> <td class="list" align="center" style="background-color: #FFFFFF" > <strike><span style="color: #010101">pio</span></strike> </td> <td class="list" align="center" style="background-color: #FFFFFF" […]

是否有任何框架在node.js中做实时模型?

我知道的https://github.com/andyet/Capsule和https://github.com/codeparty/racer 还有什么?

Expressjs bodyParser和连接forms

我用连接forms上传图像。 但是,如果我使用bodyParser()它是行不通的。 而相反,如果我不使用bodyParser,我不能上传文件? 我如何让他们一起玩? 这是我的configuration: app.configure(function() { app.register('.html', require('ejs')); app.set('views', __dirname + '/../views'); app.set('view engine', 'html'); app.use(gzippo.staticGzip(__dirname + '/../public'),{ maxAge: 86400000 }); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(form({ keepExtensions: true, uploadDir: __dirname + '/../tmp' })); app.use(express.cookieParser()); app.use(express.session({ secret: 'test', cookie: { secure: true }, store: new MySQLSessionStore(client.database, client.user, client.password) })); app.use(expressValidator); app.use(app.router); app.use(express.csrf()); });

我应该如何去写一个node.js Web应用程序与服务器和客户端代码?

我正在计划编写一个spine / backbone.js风格的Web应用程序,它基本上只是将一个大的application.js文件传输到客户端的浏览器,该浏览器使用ajax与node.js后端进行通信。 问题是我不知道如何构build这样的项目,因为我从来没有见过这样的应用程序的例子。 我可以用不同的方式来描述一些优点和缺点 将所有内容保存在一个项目文件 服务器端和客户端代码都驻留在相同的文件夹中,这意味着它们可以共享资源,例如表单inputvalidation和语言文件。 这似乎是一个很好的解决scheme,但我不知道如何捆绑客户端需要的代码,而不是服务器代码。 只是在一般情况下,我不知道如何做到这一点。 如果之前已经完成,我想看一些示例代码,甚至可能是一个git回购 创build两个单独的项目。 一个用于客户端,另一个用于服务器。 这似乎更简单直接,但在共享资源方面却不尽如人意。 我将不得不编写两次表单inputvalidation等代码。 有什么想法吗?