Tag: 表示

如何防止当我不回答请求时发送“502错误的网关”?

对于使用express服务器的特殊用例(强制客户端,不响应503状态码重复请求),我根本不需要响应客户端请求。 但是Express在apr之后发送一个502坏的网关。 2分钟,当我只是省略发送结果。 我怎样才能做到这一点? 我试图赶上超时,但这并没有帮助: app.use((req, res, next) => { if (!req.timedout) { next(); return; } console.log('Timeout!') });

在哪里存储JWT客户端凭证授权

我有一个NodeJS快速应用程序,通过客户端凭据授权身份validation到身份validation服务器。 我收到的令牌用于从API加载数据。 在整个应用程序中存储令牌的最佳实践是什么? 请注意,JWT不是用户特定的,因为我的Express App是客户端。

从Expressjs中静态链接到静态文件

我有一个奇怪的问题,我似乎无法用expressjs弄清楚。 我为所有静态文件(如js,css和图像)指定了公用文件夹。 我正在使用app.use(express.static(__dirname + '/public')); 指定文件夹。 除了一种情况,这完美的工作。 在公共文件夹里面,我有3个名为js , css和images文件夹。 在我的一个css文件中,我正在做background-image: url(/images/bg.png) no-repeat; 但是这个url没有parsing,图片没有显示在页面上。 但是,如果我在某个视图中执行了类似于img(src='/images/bg.png') , img(src='/images/bg.png')显示图像。 我假设这与我从一个静态文件链接的事实和节点/expression式忽略静态文件中的所有路由(?)。 如何将链接到位于静态文件夹中的css文件中的图像快速?

在Node.js中的Mongodb / Mongoose 通过嵌套文档的id查找

出于某种原因,当我通过嵌套文档的ID进行search时找不到文档。 我可以很容易地执行其他发现,所以这两个工作: User.findOne({"_id" : some_id}, function(err,user){} User.findOne({"arrayOfNestedDocs.value":someValue}, function(err,user){} 但是通过嵌套文档的ID查找不起作用: User.findOne({"arrayOfNestedDocs._id" : some_id}, function(err,user){} 我可以在mongo shell中执行search,但不能通过mongoose进行search。 任何想法都会有所帮助。

Everyauth:检查数据库的githubauthentication

我对node.js非常陌生,并且遇到了everyAuth模块的问题。 我的问题是,我想创build一个应用程序,让用户通过github oauthlogin,并检查用户是否在数据库中列入白名单。 我想停止validation返回true,直到我检查用户在白名单。 我已经尝试了几种方法来做到这一点,但无济于事。 任何人都可以摆脱任何光? 调用github方法 everyauth.github .appId(conf.github.appId) .appSecret(conf.github.appSecret) .redirectPath('/') .findOrCreateUser (sess, accessToken, accessTokenExtra, ghUser) -> promise = this.Promise() users.findOrCreateByGhData ghUser, accessToken, accessTokenExtra, promise promise; 用户类 conf = require '../config' # Mongoose mongoose = require 'mongoose' Schema = mongoose.Schema ObjectId = Schema.ObjectId # Connect mongoose.connect('mongodb://' + conf.db.user + ':' + conf.db.password + '@' + […]

ExpressJS / Node ajaxlogin

您好我正在使用快速框架在节点中创build一个网站。 我正在尝试使用facebox提供一个可以login的框,以便网站上的音乐不必停止播放。 我正在使用mongoose-auth / everyauth进行身份validation,并且无法弄清楚这是如何完成的。 我需要能够呈现login页面作为一个部分我相信。 我有以下几点:我认为使用loginLocals是答案? 任何人有任何想法!? var mongoose = require('mongoose') , Schema = mongoose.Schema , mongooseAuth = require('mongoose-auth'); var everyauth = require('everyauth') , Promise = everyauth.Promise; var UserSchema = new Schema({}); UserSchema.plugin(mongooseAuth, { everymodule: { everyauth: { User: function () { return User; } } }, password: { loginWith: 'email' , extraParams: { […]

正确的connect.js中间件的顺序?

中间件相互依赖,例如methodOverride()检查req.body.method是否覆盖HTTP方法,然而bodyParser()parsing请求主体并填充req.body。 另一个例子是cookieparsing和会话支持,我们必须首先使用()cookieParser(),然后使用session()_。 我想知道我们怎么能知道哪个中间件应该在另一个之前使用? 我想知道在某个地方是否已经存在一个有序列表(所有中间件的列表都是正确的)?

Expressjs路由参数作为主应用程序中的variables

对于我的应用程序,我有两个路线设置, app.get('/', routes.index); app.get('/:name', routes.index); 我希望如果我不指定一个参数,只要去appurl.com(本地主机:3000),它会加载一个默认的用户,但如果我指定一个参数(本地主机:3000 /用户),在下面的函数中使用它作为variables“username”(放在我的路由之后)。 (function getUser(){ var body = '', username = 'WillsonSM', options = { host: 'ws.audioscrobbler.com', port: 80, path: '/2.0/?method=user.gettopartists&user=' + username + '&format=json&limit=20&api_key=APIKEYGOESHERE' }; require('http').request(options, function(res) { res.setEncoding('utf8'); res.on('data', function(chunk) { body += chunk; }); res.on('end', function() { body = JSON.parse(body); artists = body.topartists.artist; }); }).end(); })(); 随着这个我有我的路线设置像这样: exports.index […]

redis会话不能在服务器上工作

我在我的node.js express应用程序中使用redis进行会话。 它在我的开发框上正常工作,但在生产上,似乎redis会话没有被保存。 我没有看到任何types的错误,除了我无法login。 Redis运行w /相同的configuration。 但是当我运行redis-cli并键入' select 1 '(db)和KEYS '*'我什么也得不到。 var RedisStore = require('connect-redis')(express); app.use(express.session({ store: new RedisStore({ host: cfg.redis.host, db: cfg.redis.db }), secret: 'sauce' })); cfg.redis.host是localhost,cfg.redis.db是1 这是我运行redis-cli monitor时得到的错误 Error: Protocol error, got "s" as reply type byte

没有命令行实用程序的Express /节点窗口7

我无法从Windows 7命令行运行命令express 。 我在下面的教程( 这里 )build议我使用命令行和调用express来构build一个框架应用程序。 我将进入node_modules区域中express模块​​的目录,并尝试查找能够从命令行运行的batch file或可执行文件。 我找不到任何东西,模块中没有可以从命令行运行的文件。 我现在很困惑。 有没有人知道这个难以捉摸的快速命令行工具的存在?