使用socket.io和不使用cookie来pipe理node.js中的会话

我有一个基于socket.io的身份validation方法,我知道你可以将客户端ID保存在一个cookie或添加一个哈希来请求URL。 但我正在寻找一种在nodejs中实现会话的方式,它不依赖于在客户端存储数据,这甚至有可能吗?

将Azure webroot指向不同的文件夹

我已经在Azure上build立了一个NodeJS网站,不断从github部署。 不幸的是,我的github项目的结构是根不是网站。 github_root |_ app(nodejs website) | |_ docs | |_ blah 看来Azure(IIS)正在寻找github_root中的server.js。 有没有办法将IIS指向网站的“应用程序”文件夹?

cordova3.1.0:命令行界面不工作

cordova3.1.0:命令行界面不工作。 我安装了node.js并使用了下面的命令 $ sudo npm install -g cordova 安装后得到如下输出: /usr/local/bin/cordova -> /usr/local/lib/node_modules/cordova/bin/cordova cordova@3.1.0-0.2.0 /usr/local/lib/node_modules/cordova ├── ncallbacks@1.0.0 ├── semver@1.1.0 ├── colors@0.6.2 ├── open@0.0.3 ├── mime@1.2.11 ├── q@0.9.7 ├── shelljs@0.1.2 ├── follow-redirects@0.0.3 (underscore@1.5.2) ├── optimist@0.6.0 (wordwrap@0.0.2, minimist@0.0.5) ├── xcode@0.5.1 (node-uuid@1.3.3, pegjs@0.6.2) ├── glob@3.2.6 (inherits@2.0.1, minimatch@0.2.12) ├── tar@0.1.18 (inherits@2.0.1, block-stream@0.0.7, fstream@0.1.24) ├── elementtree@0.1.5 (sax@0.3.5) ├── prompt@0.2.7 (revalidator@0.1.5, pkginfo@0.3.0, […]

使用express.bodyParser()和passport.js

我正在使用express.js和passport.js在节点服务器上工作。 我处于一个条件,我不想在app.use(passport.initialize())和app.use(passport.session())之前使用express.bodyParser() app.use(passport.session()) 。 如果我在两个护照中间件函数之后执行app.use(express.bodyParser()) ,它们会使req-stream混乱,bodyParser不再工作。 我只想在一些特定的路线使用bodyParser,而不是在整个应用程序。 我做了什么来规避这个错误是以下(在每一个我想保护和使用bodyParser路线): app.post(route, express.json(), passport.initialize(), passport.session(), isAuthenticated, controller); 但是我认为这有点讨厌。 有没有解决办法让它干?

脚本参考Yeoman /鲍尔

我正在build立一个节点,expression和angular度的水疗中心,让曼曼组织我的工作stream程。 这个问题主要涉及鲍尔: 当安装一个新的包(jQuery,下划线等)或创build一个新的本地js文件时,我总是必须在我的index.html文件中手动引用它: <script src="/jquery.js"></script> 或者类似的东西。 我想知道是否有一些自动化的方式,尤其是考虑到我的应用程序是单页。 有些人把我指向了Require.js,但这并不理想,再加上我不是AMD的最大粉丝。 我正在寻找的东西类似于Meteor.js(或者Rails服务器端)如何做的事情:你只需要在你的项目中创build一个源文件,并且将它放在正确的目录中,它就会被包含在你的应用程序中,而不需要你手动设置任何参考。 任何指针?

对大文件上JSON输出的node.js刮取器的控制stream程的改进

我是新来的Node.js的asynchronous控制stream,我的刮板工作,但我不禁想到,必须有一个更优化(优雅?)的方式做到这一点,我打开使用其他节点库。 进一步来说: 我觉得目前的控制stream程(所有的callback)都很难理解,但也许是因为这对我来说是新的。 似乎有几个库控制stream量,我应该使用它? 最初,我的代码首先完成了所有request ,parsing并保存所有records = [] ,而不是处理将所有内容写入文件。 我在这里改变了代码,这样它会为for循环中的每个loggingrequest – parse – append ,我想确认这种方法对于大量的请求是否更好。 以JSON格式写入logging引起了一些痛苦,目前我必须调用startStep来追加[ first,然后使用(flag? function(){flag = false; return "";}() : ",")来决定是否是第一条logging,如果不是先追加逗号,则追加所有logging,最后追加] 。 再次,我很好奇是否有更好的方法来做到这一点。 为了迭代,我在全局范围声明了这个列表,并且使用list.shift()遍历下一个项目,现在看起来好了,但是我认为这会导致大规模的副作用。 我的直觉是我应该通过这个数组作为一个参数。 再次,我想在这一点上得到确认。 var fs = require('fs'); var request = require("request"); var cheerio = require("cheerio"); function appendFile(_input, callback){ fs.appendFile("./TED/alltalk3.json", _input, function(err){ if(err){ console.log("input is" + _input + "error is […]

Jade不会显示mysql的结果

我使用node.js,express,jade和mysql。 \\app.js var db_config = { host: 'localhost', port: '3306', [redacted] }; var connection = mysql.createConnection(db_config); … app.get('/events', routes.events(connection)); \\index.js exports.events = function (db) { return function (req, res) { db.connect(function (err) { if (err) { console.log('error\'d:', err); } }); db.query('SELECT name FROM event', function (err, rows, fields) { if (err) throw err; else { […]

如何根据现有的mongoose查询来检查单个文档?

我有一个mongoose查询保存在一个variables,然后我有一个随机mongoose文档相同的集合,查询。 我想知道我的文档是否与查询匹配。 我知道我可以在集合上运行查询,然后查看结果集是否包含文档,但是我想保存一些性能并在一个文档上运行它。 这可能吗? 如果是,那么怎么样?

尝试在Mongoose中dynamic生成_id,但返回对象

基本上,我试图计算一个集合中的文档,并将新文档设置为_id。 我已经尝试了一些组合,但他们都没有工作。 这是我的尝试: var count = PostModel.find( function( err, posts ) { if ( !err ) { return posts.length; } else { return console.log( err ); } }); var post = new PostModel({ _id: count, title: request.body.title, content: request.body.content, tags: request.body.tags }); 返回: { message: 'Cast to number failed for value "[object Object]" at path […]

Express.js请求正文__proto__

express.urlencoded()中间件生成的request.body有点问题。 在某些情况下,它会在request.body对象的末尾添加__proto__ ,并且不能直接用来启动moongose模型,如var user = new User(req.body) 作为一个例子,我将使用node-express-mongoose-demo存储库。 所有表单都可以正常工作,但是app.post('/users', users.create)用__proto__收到了req.body“污染” 在此先感谢您的帮助