Tag: 表示

Authentication.js / sails.js中的authentication和会话

一直在通过帆演员教程工作,我很困惑会议的工作方式。 在本教程中,用户在会话控制器中被标记为已validation: req.session.authenticated = true; req.session.User = user; res.redirect('/'); 为什么会话被保存在请求中? 我的理解是,express.js中的'req'对象是浏览器发送给服务器的信息。 服务器不应该在其他地方保存这些信息(当另一个请求时请求对象不会被删除吗?) 此外,当使用ejs模板化页面时,应用程序以某种方式从另一个对象会话中检索身份validation状态: <% if (session.authenticated) { %> 为什么不直接设置这个variables? 可能是一个愚蠢的问题,但我很困惑的逻辑如何工作和在线文章/教程不帮助我理解…

ExpressJS下一步('路线')正在打破我的路线

我正在testing下面的代码行。 router.get('/testAPI', function(req, res, next){ console.log('middleware 1'); next(); }, function(req, res, next) { console.log('middleware 2'); next(); }, function(req, res){ res.send({ SecretData: 'abc123' }); }); 它按预期工作。 但是,当试图添加: console.log('middleware 1'); next('route'); 而不是在中间件1,所以我可以跳过中间件2,我得到一个404错误的路线:不能GET / api / testAPI 任何人有任何build议/想法为什么发生这种情况? 事实上,我相信它redirect到我的'/'路由器,而不是我的'/ api'路由器,因为当我添加一个默认路由到我的'/'路由器,我得到的路线,而不是404错误。

在express.js中使用sequelize更改数据库连接,具体取决于路由

是否有可能改变数据库连接在sequelize取决于路线? 例如,用户可以访问2个不同的安装在一个网站: – example.com/foo – example.com/bar login后,用户被redirect到example.com/foo为了获得foo站点的所有任务,他们需要访问example.com/foo/tasks bar网站使用一个单独的数据库,因此,如果他们想获得他们所有的任务bar他们必须去example.com/bar/tasks 每个安装都有自己的数据库,所有的数据库都有相同的模式。 是否可以根据访问哪个路由来更改数据库连接? *login只发生一次

使用Node.js连接到本地主机:3000服务器

我正在使用快递和节点。 我开始我的应用程序,并运行在port:3000 我想要在iPad上testing这个网站而不用推或者build立一个舞台网站。 这只是我testing新的软件包等,并希望在iPad上testing。 那么有没有办法从另一台电脑,iPad或手机连接到localhost ?

Node.js Javascript和Express

我试图通过把它分成两个string来操纵string。 我的js var request = require('request'); var cheerio = require('cheerio'); var href1,href; var str = "https://google.co.in/search?q=okay"+"+google"; request(str, function (error, response, html) { if (!error && response.statusCode == 200) { var $ = cheerio.load(html); var a = $('.r a'); href = a.attr('href'); href1="https://google.co.in"+href; var href console.log(href1); request(href1, function (error, response, html){ if (!error && response.statusCode == […]

Supertest + Express不会失败

这或多或less是超级testingexpression中间件的副本 但一年后,我想我会开始一个新的问题。 var express = require('express'); var request = require('supertest'); var app1 = express(); app1.get('/myapp', function (req, res) { res.send(200, { name: 'myapp' }); }); request = request(app1); it('should fail', function () { request .get('/hahahahahahahaha') .expect(123); }); 据我所知,这总是会错误地通过。 path错误并期待不同的状态码这一事实并不重要。 而且 – 更一般地(没有Express),它看起来总是通过: it('should fail', function () { request('http://thisdoesnotexist.mydomain') .get() .expect(200); }); 这也不起作用: it('should fail', function […]

如果其他作品正好与我想要的相反

以下代码是控制器的一部分,它可以切换post的“喜欢”状态。 它是这样工作的: 首先,用户在post上查找任何喜欢的东西。 如果不存在,则保存状态。 如果存在,则“删除”现有的状态。 这里的代码是: // api/posts exports.postLikes = function(req,res){ var like = new Like({ postId: req.params.postId, user: req.user._id }); Like.find() .and([ {user:req.user._id}, {postId:req.params.postId} ]) // check for existing likes .exec(function(err, result){ if(!result){ // if there is no result like.save(function(err){ if(err){res.send(err);} Post.findById(req.params.postId, function(err,post){ if(err) return res.send(err); post.likeId.push(like); post.save(function(err){ if(err) return res.send(err); res.json({status:'done'}) }); }); […]

使用Node JS和Express JS缓慢的HTTPS请求?

我有一个关于我在下面发布的代码的问题。 这个/ auth请求在平均值上是正常的吗? 在使用Google Chrome检测面板时,显示500 – 800毫秒(等待TTFB)? 使用模块请求执行https请求时,我会得到相同的结果。 我平均。 直接在浏览器中inputhttps://graph.facebook.com时,可以获得60毫秒的时间。 任何帮助表示赞赏! app.get('/auth', function(req, res){ res.writeHeader(200, {'Content-Type': 'application/json'}); var options = { host: 'graph.facebook.com', port: 443, path: '/', method: 'GET', }; https.get(options, function (resp) { var body = ''; resp.on('data', function (chunk) { body += chunk; }); resp.on('end', function () { console.log('Request ended.'); res.end('Done'); }); }); […]

在web应用程序中将node_modules或bower_components复制到静态/公共目录

我正在使用一个Node.js Expressnetworking服务器 – 我看到一些使用Grunt或Gulp脚本的人将bower_components目录复制到/ public目录,以便可以请求这些资源。 有没有更好的方法指向bower_components或node_modules,而不仅仅是在构build期间复制文件?

实时更新Node.js服务器

我想devise一个实时更新的Node.js Express服务器,可能有一个特定的路线,比如/ update,它会加载一个新的configuration文件。 我现在唯一担心的是当更新发生时服务器可能处于任何状态。 如果在用户请求处理JS消息时加载新的configuration文件,则在用户请求的开始处可能有一个configuration,在请求完成之前,可能会在加载新的configuration文件时进行第二个configuration。 我能想到的唯一方法是阻止服务器停留至less一分钟(保持服务器正常运行,但完全阻止任何传入的请求),然后更新服务器并将其重新联机,但这并不是真的热重载或实时更新的最佳forms是? 我怎么能以某种方式欺骗JS事件循环,以便一旦所有请求都完成,configuration文件只会被加载,并延迟任何新的请求,直到configuration加载后? 一种algorithm是: 设置一个标志“开始重新configuration” 上面的标志防止任何新的请求被处理(使用Express中间件) 检查所有当前的请求是否完成(在这里不能想到比轮询循环更好的东西) 一旦检查完成,加载新的configuration 一旦configuration被加载,切换标志从(1)