module.exports和外部范围

foo.coffee: class Foo constructor: -> console.log BAR module.exports = Foo main.coffee: BAR = 1 class Bar constructor: -> console.log BAR new Bar() Foo = require './foo' new Foo() 然后 $ coffee main.coffee 1 ReferenceError: BAR is not defined 为什么在Foo的实例中不能访问BAR ? 我可以使它对Foo对象“可见”(除了显式传递给构造函数外)吗?

Server对象中没有方法configuration(Socket.io)

我试图在我的本地主机重复这个解决scheme 。 但是在安装Socket.io时出了点问题,因为在Socket.io模块中没有configuration方法 var http = require('http'); var server = http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888); var io = require('socket.io').listen(server); console.log (io.configure) var cookie_reader = require('cookie'); //Configure socket.io to store cookie set by Django io.configure(function(){ io.set('authorization', function(data, accept){ if(data.headers.cookie){ data.cookie = cookie_reader.parse(data.headers.cookie); return accept(null, true); } return accept('error', false); }); io.set('log […]

openshift nodeJS应用程序 – git最新/服务器运行没有错误,但我仍然看到欢迎页面

我正尝试在OpenShift上托pipe一个使用socket.io的nodeJS应用程序。 我在openshift上创build了应用程序,使用git clone来获取回购 – 然后我编辑server.js ,如下所示: #!/bin/env node var express = require('express'); var app = express() , server = require('http').createServer(app) , io = require('socket.io').listen(server); var osipaddress = process.env.OPENSHIFT_NODEJS_IP; var osport = process.env.OPENSHIFT_NODEJS_PORT; app.set('port', osport || 8000); app.set('ipaddress', osipaddress); /*var pf = require('policyfile').createServer(); pf.listen(10843, function(){ console.log(':3 yay') });*/ server.listen(app.get('port'), app.get('ipaddress'), function(){ console.log('Express server listening on port […]

MongoDB使用node.js中的where来聚合查询

我在node.js中有以下的mongodb查询,它给了我一个唯一的邮政编码列表,其中包含邮政编码出现在数据库中的次数。 collection.aggregate( [ { $group: { _id: "$Location.Zip", count: { $sum: 1 } } }, { $sort: { _id: 1 } }, { $match: { count: { $gt: 1 } } } ], function ( lookupErr, lookupData ) { if (lookupErr) { res.send(lookupErr); return; } res.send(lookupData.sort()); }); }); 如何修改这个查询来返回一个特定的邮政编码? 我已经试过条件条款,但一直没有能够得到它的工作。

为什么本地主机不能在chrome(OSX)中路由到127.0.0.1?

当我使用node-debug启动脚本时,它将尝试导航到URL localhost / debug?port = 5858,但是没有find在那里服务的页面。 如果我更改“本地主机”为127.0.0.1一切工作正常。 我可以ping本地主机,它适当地parsing为127.0.0.1 有任何想法吗?

你如何使用Sequelize指定一个只读副本?

你如何使用Sequelize指定一个只读副本? 我已经根据他们的文档创build了一个非常基本的testing。 https://github.com/sequelize/sequelize/blob/master/docs/usage.md var Sequelize = require("sequelize"); var sequelize = new Sequelize('database', 'root', '', { dialect: 'mysql', port: 3306, replication: { read: [ { host: 'host1' } ], write: { host: 'host2' } }, pool: { // If you want to override the options used for the read pool you can do so here maxConnections: […]

如何使用nodemailer正确发送会议请求?

我正在尝试使用下面的代码发送使用nodemailer的会议请求。 我面临的问题是,会议邀请将作为附件ics文件,而不是请求,可以直接添加。 我已经在多个邮件客户端上尝试过了。 任何指针将不胜感激。 transport.sendMail({ from: 'BakBak.io <biplav.saraf@gmail.com>', to: 'biplav.saraf@gmail.com', subject: 'Meeting', //html: "Hi", text: "Hola!!", alternative: { contentType: "text/calendar; method=REQUEST; name='meeting.ics';component=VEVENT", contents: new Buffer(cal.toString()), contentEncoding:"7bit", "Content-Class":"urn:content-classes:calendarmessage" }, headers: { "Content-Type": "text/calendar", //"charset":"utf-8", "method":"REQUEST", "component":"VEVENT", "Content-Class":"urn:content-classes:calendarmessage" }//, //attachments : [{filename:'invite.ics',contents: cal.toString()}] }, function(err, responseStatus) { if (err) { console.log(err); res.render('schedule',{errors: err.message}); } else { console.log(responseStatus.message); […]

Websocket NodeJS精简版(无后备)

我目前正在使用nodeJS和Socket.IO。 但问题是:我有一个网站,只支持最近的浏览器,所以,websockets。 我真的不需要一个400kb的client.js。 我的问题很简单:是否有一个nodeJS模块只与websocket一起工作? 旧的浏览器没有回退,没有ajax后备等…?

检测成功读取stream打开

我正在为Express.js实现静态服务中间件的caching,其工作原理如下 – 请求到达时,中间件首先尝试从文件系统提供文件,如果没有,则从上游提取文件并存储在文件系统中。 问题是我不知道如何正确检测“caching命中”事件。 staticMiddleware = function(req, res, next) { // try to read file from fs filename = urlToFilename(req.url); stream = fs.createReadStream(filename); // cache miss – file not found stream.on('error', function() { console.log('miss ' + req.url); // get file from upstream, store it into fs and serve as response stream = fetchFromUpstream(url); stream.pipe(fs.createWriteStream(filename)); stream.pipe(res); […]

无法在Windows上写入产生的child_process的stdin

下面的代码可以在Linux上正常工作,但是在Windows 7上会中断 var spawn = require('child_process').spawn; var sass = spawn('sass'); sass.stdout.on('data', function (data) { console.log('' + data); }); sass.stdin.write('.asdfsadf\n color: red', function () { sass.stdin.end() }); 我得到的错误是 events.js:72 throw er; // Unhandled 'error' event ^ Error: This socket is closed. at Socket._write (net.js:637:19) at doWrite (_stream_writable.js:226:10) at writeOrBuffer (_stream_writable.js:216:5) at Socket.Writable.write (_stream_writable.js:183:11) at Socket.write (net.js:615:40) […]