Coffeescript:dynamic创build一个方法被调用的类的实例

我正在使用面向对象的coffeescript构build一个Node.js应用程序。 我有一个super class的静态方法super class : class RedisObject @find: (id, cb) -> client.HGETALL "#{@className()}|#{id}", (err, obj) => unless err cb(new RedisObject(obj, false)) 有一个像这样的子类 class User extends RedisObject 当我在User class上调用find()时,我希望它将User的实例而不是RedisObject传递给callback函数。 我试图通过使用获取调用方法的实际类的类名来实现此目的 @constructor.name 并使用eval()从它生成一个实例 – 但问题是,子类将在超类内未定义。 我怎样才能实现获取不同types的实例返回的行为取决于哪个类被调用,而不必在每个子类中重写?

Express:如何将variables传递给安装的中间件

我刚开始玩Expressjs,我想知道如何将variables传递给安装的中间件/子应用程序。 在下面的例子中,我想把configuration对象传递给我的/ blog / index 在app.js中 var express = require('express'); var app = express(); //… var config = {} //… app.use('/blog', require('./blog/index') 在/blog/index.js中 var express = require('express'); app = module.exports = express(); app.use(express.static(… app.get('/', function(req, res, next) { //handle the req and res } 谢谢,

如何清理Nodejs(heroku + redis)中的所有会话?

我正在使用托pipe在heroku上的nodejs(expressjs)。 会话存储在redis( heroku的Redistogo插件)中: RedisStore = require('connect-redis')(express) app.use express.session secret: process.env.CLIENT_SECRET cookie: { maxAge: 604800000 } store: new RedisStore {client: redis} 用户login后,我将他的信息存储在req.session中 after_user_logged_id = (req, user)-> req.session.current_user = id: user._id name: user.name 我需要重新启动服务器并清理所有会话:注销所有用户强制他们login一次。 我应该怎么做? 重新启动redis插件没有帮助。

为什么我不能用mongoose来validationembedded式文档? 什么是正确的方法来做到这一点?

我有这样的架构: var testSchema = new Schema({ foo: { type: String, required: true, trim: true }, bar: { fooBar: { type: String }, barFoo: { type: String } } }); 我必须根据foo值validationbar的值,如下所示: testSchema.path("bar").validate(function(bar){ if(this.foo === "someValue") //return custom validation logic 1 else if(this.foo === "anotherString") //return custom validation logic 2 else return false; }); 但是当我尝试打我的应用程序,我得到以下错误: /Users/Renato/github/local/prv/domain/models/testModel.js:34 testSchema.path("bar").validate(function(bar){ […]

在node.js中生成一个受密码保护的ZIP文件

我需要在node.js中创build一个由密码保护的ZIP文件。 我正在使用“node-zip”模块,但不幸的是不支持密码保护: var zip = new require('node-zip')(); zip.file('test.file', 'hello there'); var data = zip.generate({base64:false,compression:'DEFLATE'}); 寻找其他节点模块来创buildZIP文件,我还没有发现任何支持密码保护。

轻松整合socket.io和导轨

我现在使用Rails已经超过2年了,现在我正在构build一个简单的社交networking的实时应用程序,使用private_pub gem进行评论和通知,我阅读了关于nodejs的内容,现在我正在第三周学习它,nodejs是非常令人惊叹的平台,但我想知道如何将nodejs和socket.io与我的Rails应用程序集成,以提供在线/离线function以及聊天function。

Node.JS JSON.parse错误未定义

我试图parsing节点中的json文件,但总是有错误,我谷歌,但不能解决它。 你可以帮我吗? undefined:1 undefined ^ SyntaxError: Unexpected token u at Object.parse (native) at Object.<anonymous> (app.js:13:19) at Module._compile (module.js:449:26) at Object.Module._extensions..js (module.js:467:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.runMain (module.js:492:10) at process.startup.processNextTick.process._tickCallback (node.js:244:9) 这是我的代码 var app = express(); var mongodb = require("mongoskin"); var fs = require('fs'); var content; fs.readFile('./config/db.json', function read(err, data) { if (err) […]

影响callbackvariables是不好的做法吗?

以asynchronousNode函数fs.stat()为例。 如果我需要在一个文件上使用fs.stat() ,那么稍后fs.stat() ,结果会被遮蔽。 fs.stat(file, function(err, stats) { fs.stat(file, function(err, stats) { }); }); errvariables以及statsvariables被隐藏起来 – 如果我不会在第二个callback中使用第一个callback,那么这个问题是否会发生? 重命名第二个callbackvariables是否更好? 是否覆盖这些variables,一次或多次对性能有什么影响?

Node.js和sha1

http://www.php.net/manual/en/function.sha1.php string sha1 ( string $str [, bool $raw_output = false ] ) 如果可选的raw_output设置为TRUE,则sha1摘要将以原始二进制格式返回,长度为20,否则返回值为40个字符的hex数字。 crypto = require("crypto"); console.log( new Buffer(crypto.createHash('sha1').update("some text").digest()).toString('base64') ); // N8KqY8OHc8KYw5lURzJiw6HCoAV8HmMuw5p3 console.log( new Buffer(crypto.createHash('sha1').update("some text").digest("hex")).toString('base64') ); // MzdhYTYzYzc3Mzk4ZDk1NDQ3MzI2MmUxYTAwNTdjMWU2MzJlZGE3Nw== console.log( new Buffer(crypto.createHash('sha1').update("some text").digest("base64")).toString('base64') ); // TjZwangzT1kyVlJITW1MaG9BVjhIbU11Mm5jPQ== <?php echo base64_encode(sha1("some text")); // MzdhYTYzYzc3Mzk4ZDk1NDQ3MzI2MmUxYTAwNTdjMWU2MzJlZGE3Nw== echo base64_encode(sha1("some text", true)); // <– how to reproduce it on […]

在远程托pipe的node-webkit应用程序中使用require()

我有一个package.json文件,如下所示: { "name": "title", "description": "description", "version": "0.1", "main": "https://path-to-application/", "window": { "show": true, "toolbar": false, "frame": true, "position": "center", "width": 800, "height": 600, "min_width": 220, "min_height": 220 } } 但是当我尝试运行代码时: var GUI = null; var win = null; try { GUI = require('nw.gui'); win = GUI.Window.get(); } catch (ex) { } win.toggleFullscreen(); 没有任何反应,为graphics用户界面添加警报,赢得节目都设置为空。 当我从package.json的.zip中运行相同的代码的index.html文件,它按预期工作。 […]