逗号分隔在Javascript中

这段代码有什么区别: var restify = require("restify") , clientModule = require("./lib/domain/client.js") , server = restify.createServer(); 和这个: var restify = require(restify); var clientModule = require("./lib/domain/client.js"); var server = restify.createServer(); 前者比后者更有效率吗? 还是仅仅是编写更less的代码?

使Socket.IO显示浏览器的页面加载指示器(纺车)

我正在Node.js中构build一个Web应用程序,并使用Socket.IO来处理我的客户端和服务器端之间的数据传输。 我的web应用程序的核心部分是内容提要。 我的客户端JavaScript为新闻源的内容发出一个Socket.IO调用。 一旦响应从服务器返回,它使用JQuery填充网页上的提要。 我的问题是,Socket.IO不会导致浏览器的页面加载指示器(对于Chrome浏览器,这是一个在网页选项卡中的纺车)显示。 我想要显示。 如果没有这个加载指示器,我的网页看起来像是已经完成加载,当它真的没有(饲料尚未填充)。 什么是适当的解决这个问题? 先谢谢你!

Mongoose不会让我插入空值的数字?

我定义了下面的Mongoose模式: participantSchema = new Schema({ id: Number, email: String, survey: { type: Schema.Types.ObjectId, ref: 'Survey' }, created: { type: Date, "default": Date.now }, answers: [ { question: { type: Schema.Types.ObjectId, ref: 'Question' }, values: Array, question_id: Number, sub_id: Number } ] }); 当我尝试插入我的answers数组的下列值: [{ question_id: 60800, _id: 52f53345f06cf301f2a38465, values: [ 'c2' ] } { question_id: […]

如何使用Knox将文件从NodeJSstream式传输到Amazon S3?

在NodeJS中,我是非常新的stream – 对于他们基本上毫无头绪 – 我试图让Amazon S3的KnoxJS客户端通过HTTP GETstream式传输文件。 Knox github页面上的示例代码显示了这一点: http.get('http://google.com/doodle.png', function(res){ var headers = { 'Content-Length': res.headers['content-length'] , 'Content-Type': res.headers['content-type'] }; client.putStream(res, '/doodle.png', headers, function(err, res){ // check `err`, then do `res.pipe(..)` or `res.resume()` or whatever. }); }); 但是,这是非常明显的不完整的……除了打开http.get和putStream for S3之外, 那么我从哪里去呢? 有人可以帮我完成这段代码,这样我就可以通过HTTP GET将文件stream式传输到S3上的存储桶中了吗?

zeromq ROUTER,DEALER消息编码格式

我已经写了一个应用程序,它是使用zmq Router,Dealer模式相互沟通的nodejs(主应用程序)和python(客户端)应用程序。 问题是我无法读取从客户端发送到nodejs(路由器)应用程序的消息。 其编码如何。 代码如下简单: var responder = zmq.socket('router'); responder.on('message', function(request) { console.log(request); // i could not read the messages here.its obfuscated }); responder.bind('tcp://127.0.0.1:8000', function(err) { if (err) { console.log(err); } else { console.log('Listening on 8000…'); } }); python: socket = context.socket(zmq.DEALER) socket.connect("tcp://127.0.0.1:8000") socket.send('blaaaa') print 'message sent!'

易趣超时错误

我想要使​​用eBay API获取SessionId。 我使用Node.js作为后端。 在响应中我得到这个错误:“input传输已经终止,因为你的请求超时”。 要获得sessionId我正在使用以下方法。 var xml = '<?xml version="1.0" encoding="utf-8"?>'+ '<GetSessionIDRequest xmlns="urn:ebay:apis:eBLBaseComponents">'+ '<RuName>MyRuname</RuName>'+ '</GetSessionIDRequest>'; var options = { host: "api.sandbox.ebay.com", path: '/ws/api.dll', method: "POST", body: xml, headers: { 'X-EBAY-API-APP-NAME': 'my app id', 'X-EBAY-API-DEV-NAME': 'my dev id', 'X-EBAY-API-CERT-NAME': 'my cert id', 'X-EBAY-API-COMPATIBILITY-LEVEL': '557', 'X-EBAY-API-CALL-NAME': 'GetSessionID', 'X-EBAY-API-SITEID':'203', 'Content-Type' : 'text/xml', 'Content-Length':xml.length } }; var req = […]

在Windows 7上安装sails-mongo致命错误

我正在尝试安装https://www.npmjs.org/package/sails-mongo ,它的版本是0.9.6而不是0.9.7(最新版本)。 我在Windows 7上有最新的node.js(0.10.25 64位)和mongodb(2.4.9 64位) 。 C:\my_project\backend>npm install sails-mongo 无论如何,我得到了致命的错误: npm http GET https://registry.npmjs.org/sails-mongo/0.9.6 npm http 304 https://registry.npmjs.org/sails-mongo/0.9.6 npm http GET https://registry.npmjs.org/underscore/1.4.4 npm http GET https://registry.npmjs.org/underscore.string/2.3.1 npm http GET https://registry.npmjs.org/async/0.2.9 npm http GET https://registry.npmjs.org/mongodb npm http 304 https://registry.npmjs.org/underscore/1.4.4 npm http 304 https://registry.npmjs.org/underscore.string/2.3.1 npm http 304 https://registry.npmjs.org/async/0.2.9 npm http 304 https://registry.npmjs.org/mongodb npm http GET https://registry.npmjs.org/bson/0.2.5 […]

如何在compoundjs初始化期间从jugglingdb适配器获取本地mongodb客户端?

我正在使用compoundjs和使用jugglingdb的mongodb适配器。 我一直在检索和重用控制器中的本地mongodb客户端 ,通过执行以下操作: var db = compound.orm._schemas[0].client; 这很好,因为我可以使用mongodb支持的函数,比如.collection(name)和.find() 。 但是,当我为compoundjs创build初始化程序时, .client为空,但看起来像_schemas[0]不是。 例如: module.exports = function (compound) { var db = compound.orm._schemas[0].client; // _schemas[0] isn't empty as .client was reached. db.collection('collection'); // Throws: TypeError: Cannot call method 'collection' of undefined }; 如何从jugglingdb适配器中检索本地mongodb客户端,而无需自己重新创build连接?

NodeJS ReferenceError:io未定义

我开始在节点JS和面临一个问题与io lib,这里的错误: ReferenceError: io is not defined at exports.index (D:\dev\lib\index.js:9:5) at callbacks (D:\dev\node_modules\express\lib\router\index.js:164:37) at param (D:\dev\node_modules\express\lib\router\index.js:138:11) at pass (D:\dev\node_modules\express\lib\router\index.js:145:5) at Router._dispatch (D:\dev\node_modules\express\lib\router\index.js:1 73:5) at Object.router (D:\dev\node_modules\express\lib\router\index.js:33:1 0) at next (D:\dev\node_modules\express\node_modules\connect\lib\proto.js:190:15) at Object.methodOverride [as handle] (D:\dev\node_modules\express\node_modules\connect\lib\middleware\methodOverride.js:49:5) at next (D:\dev\node_modules\express\node_modules\connect\lib\proto.js:190:15) at Object.urlencoded [as handle] (D:\dev\node_modules\express\node_modules\connect\lib\middleware\urlencoded.js:51:37) 这里是我的app.js文件的内容: var express = require('express'); var path = require('path'); var app = […]

更改移动服务的运行版本的NodeJS

我需要更新我的mobileservice中的NodeJS引擎版本,以支持默认库中的一些新function。 我试图更新packages.json(服务的GIT签出的根目录)中的要求,没有任何更改。 这就是现在的样子(我删除了一些额外的细节): { "main": "server.js", "engines": { "node": ">= 0.9.5" }, "dependencies": {}, "devDependencies": {}, "scripts": {} } 我需要版本0.9.3或更新。 这个过程是否考虑到这个文件? 如何更新我的移动服务中的节点版本?