Nodejs,如何复制nodejs中的几个文件,而不会崩溃

我试图用节点js复制几个文件。 这是我想要做的一个例子: var request = require('request'); va photos [{ 'url': 'http://xxxx.com/im1', 'name' : 'name1' }, { 'url': 'http://xxxx.com/im12', 'name' : 'name2' }, for (var i = 0; i < photos.length; i++) { request(photos[i].source).pipe(fs.createWriteStream(photos[i].name)); } 也许1000电话后,我有一个套接字挂出错误。 继@Timothy Strimplebuild议我决定使用asynchronous模块。 我的代码现在是这样的: async.whilst(function () { return !stop; }, function (callback) { console.log("get next 20 image"); JM.api('/' + album.id + […]

Node.js Socket.io和Express:不断向setInterval方法以外的客户端发送数据

我一直在摆弄socket.io,并expression。 而且,我在这个项目中使用mongoose。 我有这个代码: 服务器 io.on('connection', function (socket) { setInterval(function(){ Data.find({}, {name:1, _id:0}, {sort : { _id : -1 }}, function (err, data) { if (err) { console.log(err); } else { socket.emit('data', {datas: data}); }; }) }, 500); }); 客户 var socket = io.connect(); socket.on('data', function (data) { if (data) { $('#names').html(''); $.each(data.datas, function (index, value) […]

保护node.js restful API

我想要确保一个安静的Api,并且尽力保持它尽可能简单,以及无国籍。 什么是存储,生成和validationAPI密钥的最佳方式? 我正在考虑用node-uuid生成密钥,将它们存储在redis中,然后用passport-apikeys进行身份validation。 这会工作吗? 还是有我缺less的另一个最佳解决scheme。 我一直在阅读这个好消息,但是很多资源都缺less实际的实现,就像这篇文章一样

如何捆绑客户端组件(js / less / css / img)

作为一个团队,我们build立了客户端组件库。 每个组件都有一些资源(JS / LESS / CSS / IMG / FONTS)。 目前我已经探讨了描述客户端组件,我可以使用鲍尔/组件(如果有其他任何请让我知道)。 但我不知道如何(或者即使有可能)捆绑组件 。 让我们考虑一个场景: 所以现在,我已经描述了每个组件(包括Bower / Component或其他),例如: 组件A对jQuery,jQuery UI有依赖性 组件B对下划线,jQuery,Component A有依赖性 组件C对组件B有依赖性 组件D对组件A有依赖性 我想将它们捆绑在一个Web应用程序中。 例如,我想指定我的应用程序使用组件C和D.结果我会有一个: JavaScript bundle(bundle.js)与来自组件C + JavaScript的所有必要脚本的依赖关系 CSS bundle(bundle.css),其中包含来自依赖关系的组件C + CSS的所有必要样式。 当我使用LESS时,在中间有一个LESS – > CSS转换是很好的。 现在最终的任务是:在我的web应用程序中,我只想包含单个JavaScript bundle.js和单个css bundle.css。 我可以想象,有一个工具可以检查组件的元数据(bower.json / component.json / package.json),并对CSS / JS依赖关系图进行分析,并在输出捆绑包中只包含一次所需的文件。 但是如何实现呢?

自动修复损坏的Web链接

我的问题是我的网页中的一些链接被破坏,除非有人报告,否则没有修复。 我可以自动化,使页面中的每一个链接“ping”检查是否活着或find替代的链接? 有没有在服务器端的自动化脚本(PHP左右)来解决在一个页面中断链接?

使用除ObjectId以外的SchemaTypes(Mongoose)

我对node.js和mongoose比较陌生,所以我一直试图让人口为mongoose工作。 根据官方的mongoose文档,string可以用作参考: 注意:ObjectId,数字,string和缓冲区是有效的作为参考。 基于此,我一直在试图填充Stringtypes的字段,而不是ObjectId。 但是,每次我尝试这样做,我都会得到一个CastError: CastError:投射到ObjectId的path“_id”的值“testuser”失败 如果有帮助,这是我的代码: /=============== In user.js ===============/ var UserSchema = new mongoose.Schema({ _username: { type: String, required: true, unique: true }, password: { type: String, required: true }, date_created: { type: Date, required: true, default: Date.now() }, last_accessed: { type: Date, required: true }, admin_access: { type: Boolean, required: true } […]

Nodejs进程locking从阻塞FUSE文件读取

我有一个nodejs webserver读取文件并提供内容。 其中一些文件是FUSE虚拟文件,这些文件在后台服务等待数据提供时可能会阻塞很长一段时间的读取。 看来,如果这些读取请求中的5个堆积起来,该过程将不再从任何文件读取。 此外,我不知道如何终止这些挂起的读取,如有必要。 这是nodejs的限制还是FUSE文件系统的行为方式与FUSE的期望不一致?

EcmaScript产量的优先级6

我有一个函数build ,同步返回一个对象,这又包含一个函数run 。 这个函数返回一个thunk,因此可以使用yield和一个库(如co来调用。 基本上这个电话是这样的: yield build().run(); 现在,问题是,我想确保yield是指run ,而不是build 。 我如何做到这一点,而不需要像下面的代码片段那样引入一个临时variables? var temp = build(); yield temp.run(); 有任何想法吗? PS:我在Node.js 0.11.x上使用' – harmony'标志运行这段代码。

使用easyrtc的房客监听器,一旦用户列表更新,我该如何调用其他用户?

我正在使用房间的听众监听室内用户的更新。 在演示中,用户列表被更新为新用户,并具有用于调用每个用户的button,类似于即时消息程序中的联系人列表。 我想要做的是电话会议,无论何时用户连接,他们都会被其他人自动呼叫。 以下是我的代码目前的样子: var calledUsers = {}; easyrtc.setRoomOccupantListener(function (roomName, userList, selfInfo) { for (easyrtcid in userList) { if (easyrtcid in calledUsers && calledUsers[easyrtcid]) { console.log('already in call with', easyrtcid); } else { easyrtc.call( easyrtcid, function success(otherCaller, mediaType) { calledUsers[easyrtc] = true; }, function failure(errorCode, errorMessage) { calledUsers[easyrtc] = false; } ); } } }); […]

使用arangojs和sync的NodeJS:忽略.sync()后的所有内容?

我想使用NodeJS从MySQL数据库读取60klogging,并将它们写入到ArangoDB数据库。 我会稍后使用ArangoDB的聚合function来处理我的数据集。 来自PHP,脚本通常运行同步,因为我相信这是有道理的,我最初(天真)的尝试是让我的NodeJS脚本也运行同步。 但是,它不能按预期工作: 我打印到控制台,通过.sync()调用函数连接到ArangoDB服务器,并打印所有现有的数据库,然后打印到控制台再次。 但是,对我的ArangoDB函数的同步调用之下的所有内容都被完全忽略(不会再打印到控制台,也不会在这里执行任何其他操作)。 我忽略了什么? 在.sync()调用的函数中, .done()是否会造成麻烦? var mysql = require('node-mysql'); var arango = require('arangojs'); //var sync = require('node-sync'); // Wrong one! var sync = require('sync'); function test_arango_query() { var db = arango.Connection("http://localhost:8529"); db.database.list().done(function(res) { console.log("Databases: %j", res); }); return "something?"; } sync(function() { console.log("sync?"); var result = test_arango_query.sync(); console.log("done."); // DOES NOT […]