这两者有什么区别? 我注意到,如果我从一个工作程序中的socket.send更改为socket.emit ,服务器无法收到消息,但我不明白为什么。 我还注意到,在我的程序中,如果我从socket.emit更改为socket.send ,服务器收到一条消息,但似乎多次接收它。 当我使用console.log()来查看服务器接收到的内容时,它显示了与使用socket.emit不同的socket.emit 。 为什么这种行为? 你怎么知道什么时候使用socket.emit或socket.send ?
我有一个应用程序启动并运行在与https,节点快递与英雄。 如何识别协议以强制redirect到heroku上的nodejs https? 我的应用程序只是一个简单的http服务器,它并没有(但)意识到heroku发送https请求: /* Heroku provides the port they want you on in this environment variable (hint: it's not 80) */ app.listen(process.env.PORT || 3000);
我通过expressjs与node.js一起工作 我尝试将帐户存储到会话中。 所以,我尝试使用expressjs中的代码来testing会话 var RedisStore = require('connect-redis')(express); app.use(express.bodyParser()); app.use(express.cookieParser()); app.use(express.session({ secret: "keyboard cat", store: new RedisStore })); 但我得到错误Redis connection to 127.0.0.1:6379 failed – connect ECONNREFUSED 。 请帮我解决这个问题
我喜欢Bundler ,在依赖pipe理方面很棒。 我喜欢npm ,安装节点包很简单! 我有一个nodejs应用程序,并希望能够指定我的应用程序依赖关系,并轻松地安装/更新他们,无论我部署我的应用程序。 这不是我发布的图书馆,它是一个完整的networking应用程序。 我知道npm bundle命令,但似乎只是覆盖安装软件包的目录。 我习惯以这种方式使用捆绑器: # Gemfile gem "rails", "3.0.3" 在主机上安装rails v3.0.3和任何其他所需的gem,只要它不存在 > bundle install 我怎样才能达到与npm类似的东西?
我正在尝试使用request GET二进制数据,并且有如下所示的内容: var requestSettings = { method: 'GET', url: url, }; request(requestSettings, function(error, response, body) { // Use body as a binary Buffer } 但是body总是与预期不同的几个字节。 经过进一步的调查,我发现request假定body是string,并取代所有非Unicode字节。 我试图添加 encoding: 'binary' 请求设置,但它没有帮助。 我怎样才能得到二进制数据?
根据Node.js手册: 如果您希望模块导出的根目录是一个函数(如构造函数),或者如果要在一个赋值中导出一个完整的对象,而不是一次构build一个属性,则将其分配给module.exports,而不是导出。 给出的例子是: // file: square.js module.exports = function(width) { return { area: function() { return width * width; } }; } 并像这样使用: var square = require('./square.js'); var mySquare = square(2); console.log('The area of my square is ' + mySquare.area()); 我的问题:为什么这个例子不使用方形作为对象? 以下是否有效?是否使示例更“面向对象”? var Square = require('./square.js'); var mySquare = new Square(2); console.log('The area of my […]
我如何检查文件的存在? 在fs模块的文档中有fs.exists(path, callback) 。 但据我所知,它只检查目录的存在。 我需要检查文件 ! 如何才能做到这一点?
今天,我第一次在“生产”模式下运行我的Node.js应用程序,并得到这样的警告: Warning: connection.session() MemoryStore is not designed for a production environment, as it will leak memory, and obviously only work within a single process. 我只需要运行一个进程,但是我应该使用什么呢? 我希望我的会话驻留在RAM中以便快速访问。 我也希望能够通过简单地closuresNode应用程序来放弃所有的会话。 安装Redis,MongoDB或其他数据库只是为了完成这个简单的任务似乎是一个矫枉过正的事情。 我也不明白为什么包含在Node中的MemoryStore不应该真的被使用?
我正在寻找使用nodejs从HTTP请求(即调用远程Web服务,并响应客户端)使用信息。 在PHP中,我会用curl来做到这一点。 节点中的最佳做法是什么?
在我做一个小的发布和标记之前,我想更新package.json以反映该程序的新版本。 有没有办法自动编辑文件package.json ? 会使用git pre-release hook吗?