Tag: node.js

使用Socket.io连接客户端到服务器

我是相对较新的node.js和它的插件,所以这可能是一个初学者的问题。 我试图在Web服务器上获得一个简单的HTML页面连接到不同的服务器与websocket.io运行node.js。 我的代码如下所示: 客户 <script src="socket.io/socket.io.js"></script> <script> // Create SocketIO instance, connect var socket = new io.Socket(); socket.connect('http://127.0.0.1:8080'); // Add a connect listener socket.on('connect',function() { console.log('Client has connected to the server!'); }); // Add a connect listener socket.on('message',function(data) { console.log('Received a message from the server!',data); }); // Add a disconnect listener socket.on('disconnect',function() { console.log('The client […]

如何使用Bluebird对节点的child_process.exec和child_process.execFile函数进行promisify?

我在Node.js下使用蓝鸟承诺库,这太棒了! 但是我有一个问题: 如果查看Node的child_process.exec和child_process.execFile的文档,可以看到这两个函数都返回一个ChildProcess对象。 那么推荐这种function的推荐方式是什么? 请注意,以下作品(我得到一个Promise对象): var Promise = require('bluebird'); var execAsync = Promise.promisify(require('child_process').exec); var execFileAsync = Promise.promisify(require('child_process').execFile); 但是,如何获得原始的Node.js函数的原始返回值呢? (在这些情况下,我需要能够访问最初返回的ChildProcess对象。) 任何build议,将不胜感激! 编辑: 这是一个使用child_process.exec函数的返回值的示例代码: var exec = require('child_process').exec; var child = exec('node ./commands/server.js'); child.stdout.on('data', function(data) { console.log('stdout: ' + data); }); child.stderr.on('data', function(data) { console.log('stderr: ' + data); }); child.on('close', function(code) { console.log('closing code: ' + code); […]

node.js的unit testing框架,专门支持testingasynchronous代码?

在node.js模块列表中列出了30多个testing框架… 哪个框架最受欢迎? 他们有什么优点和缺点? 我正在寻找一个框架,支持有很多asynchronouscallback(可能像大多数其他节点项目)的代码的unit testing。 另外,我正在寻找一些相对简单而又复杂的东西。 到目前为止,我已经看过: Nodeunit非常简单,支持asynchronous代码,可以让你定义你想要调用的断言以及testing完成的时间。 Vowsjs看起来很有趣。 允许您很好地构造testing,并具有许多高级function。 不确定这些function是否实际上是有用的,通过,或者如果他们相当阻碍你的方式?

lessc二进制文件在通过NPM安装后不可用

我继续前进,安装并testingnode.js,然后通过NPM安装LESS CSS,但是input命令 lessc styles.less 要么 lessc styles.less > styles.css 它告诉我-bash: lessc: command not found 我在MAC狮子terminal计划 编辑 : 安装Node之后,你需要运行这个命令 ln -s ~/.npm/less/1.2.1/package/bin/lessc (path to directory you want) 然后,您将能够在该目录中较less的文件上运行较less。 它的工作原理,但它不是汇编成一个CSS文件的导入。 它只是将文件导入到文件中。 我希望能够将我导入的文件中的所有CSS结合在一起。

mongoose试图打开未closures的连接

这是一个简化版本的问题,但基本上我试图与mongoose打开2个mongodb连接,它给了我“尝试打开未closures的连接”。 错误。 代码示例: var db1 = require('mongoose'); db1.connect('my.db.ip.address', 'my-db'); var db2 = require('mongoose'); db2.connect('my.db.ip.address', 'my-db'); db2.connection.close(); db1.connection.close(); 任何想法如何使其工作?

Node.js / Mongoose上的“VersionError:没有find匹配的文档”错误

我对Node.js和Mongo / Mongoose比较陌生,在解决特定的Mongoose错误时遇到了一些困难: VersionError:未find匹配的文档。 (整个错误跟踪/堆栈在这个问题的底部。) 这个博客文章非常清楚地概述了一个VersionError可能发生的情况: http://aaronheckmann.blogspot.com/2012/06/mongoose-v3-part-1-versioning.html (TL; DR – “Mongoose v3现在为每个文档添加了一个模式可configuration的版本密钥,只要对数组的修改可能改变任何数组元素的位置,该值就会自动递增。”如果试图保存文档,键不再匹配你检索到的对象,你会得到上面的VersionError 。) 核心问题:有没有办法显示有问题的save()操作? 或者哪个文件没有保存? 还是什么呢 ?! ;) 挑战:这是一个相对较大的有许多arrays的代码库,我不确定如何开始解决这个问题。 特别是,错误跟踪/堆栈似乎并不显示问题存在的地方。 见下文: VersionError: No matching document found. at handleSave (<project_path>/node_modules/mongoose/lib/model.js:121:23) at exports.tick (<project_path>/node_modules/mongoose/lib/utils.js:408:16) at null.<anonymous> (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection.js:484:9) at g (events.js:192:14) at EventEmitter.emit (events.js:126:20) at Server.Base._callHandler (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/base.js:391:25) at Server.connect.connectionPool.on.server._serverState (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:558:20) at MongoReply.parseBody (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:131:5) at Server.connect.connectionPool.on.server._serverState (<project_path>/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:517:22) at EventEmitter.emit […]

Node.js错误:连接ECONNREFUSED

我是新来的节点和运行到一个简单的教程这个错误。 我在OS X 10.8.2上从CodeRunner和Terminal上尝试这个。 我也尝试把我的模块在node_modules文件夹。 我可以告诉这是某种连接问题,但我不知道为什么? events.js:71 throw arguments[1]; // Unhandled 'error' event ^ Error: connect ECONNREFUSED at errnoException (net.js:770:11) at Object.afterConnect [as oncomplete] (net.js:761:19) app.js: var makeRequest = require('./make_request'); makeRequest("Here's looking at you, kid"); makeRequest("Hello, this is dog"); make_request.js: var http = require('http'); var makeRequest = function(message) { //var message = "Here's looking at […]

使用socketio心跳的优点/缺点

Socket.io允许您使用检测信号“检查Socket.IO连接的健康状况”。 什么是心跳,为什么要或不应该使用它们?

节点与Python创buildRESTful Web服务

我正在为移动应用程序创buildREST API后端。 我很难决定在Python中的Twistedmatrix和NodeJs中的Express框架之间。 我已经经历了几个参考: Python REST框架build议 用于Web +移动应用程序的技术堆栈 最佳的REST API语言/框架 像所有其他孩子一样,我也有同样的要求: 易于维护。 可扩展到大stream量。 应该支持MongoDB / NoSQLs 应该是安全的, 容易authentication 。 对web服务的其他标准要求。 我了解事实: “它是规模化的解决scheme,而不是技术。” 任何技术的好解决scheme都会成功。 大多数技术堆栈都有一些大的成功案例可供夸耀。 不过,如果我必须select另一个技术堆栈,应该是什么? 一方面,Nodejs提供本地asynchronous和非阻塞I / Ofunction。 但扭曲的matrix在它的小猫中有一些严重的大成功故事 。 python和其他语言也有其他的框架。 其他build议也欢迎。 我的具体问题是:我打算在python中使用Twisted Matrix来构buildRESTful API。 由于我有Python和Django的经验,代码非常整齐。 有什么杀手的理由,我应该去节点或其他技术堆栈? 请不要涉及长时间的讨论。 ps1:给出一些有关移动应用程序的想法,将其转化为基于地理位置的大规模消息传递。 REST API将不得不处理空间计算。 ps2:我准备好了信仰的飞跃。

nodejs module.js:340错误:找不到模块

我在C:\ Program Files(x86)\ nodejs中安装了nodejs 然后我创build了一个.js文件,并将其保存在我的桌面上,以便在控制台中输出“hello world” console.log('hello world'); 当我试图从命令提示符下运行该文件时: C:\Users\Laura>cd desktop C:\Users\Laura\Desktop>node nodeTest.js 我得到: module.js:340 throw err; ^ Error: Cannot find module 'C:\Users\Laura\Desktop\testNode.js' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3 我读了很多其他相关的问题,其中一些人build议运行安装,所以我做了。 C:\Users\Laura>npm install -g express 但没有运气,仍然得到相同的错误信息。