Tag: express

Phonegap在服务器端使用expressjs和passportjs进行身份validation

我使用nodejs和expressjs构build了一个使用passportjs进行身份validation的Web服务器。 我现在想用phonegap构build一个移动应用程序,当然也可以使用我现有的Web服务器来查询数据。 我需要在我的服务器上使用Facebook连接对我的用户进行身份validation,只有在创build会话时才能查询我的API。 我search了很多的解决scheme,什么都没find。 我看着InAppBrowser和ChildBrowser,但我不认为他们会做的伎俩,因为我需要保持会议活着,以查询api。 任何帮助,将不胜感激 谢谢

heroku上的节点文件系统访问错误

我有一个简单的代码,使用快速fs将选定的图像保存到文件系统 exports.upload = function(req, res) { var photoInfo = req.body, file = req.files.file, fileType = file.type.slice(6); //attaching the fileType to photoInfo because fileType is part of req.files, not part of req.body photoInfo.fileType = fileType; var newPhoto = new Photo(photoInfo); Photo.create(newPhoto, function(err, insertedPhotoInfo){ if (err) throw err; var photoId = insertedPhotoInfo._id; //create directory if it does […]

为什么超时错误作为顶级中间件?

超时中间件: https : //github.com/expressjs/timeout#api似乎有用的挂起http请求超时。 但是,中间件文档提到使用它作为顶级中间件是不好的( https://github.com/expressjs/timeout#api ) 注意这个模块不推荐作为“顶级”中间件(即不build议用作app.use(timeout(5000)))。 任何想法为什么? 让我怀疑它是否应该在任何级别使用。

使用HTML部署Node.js时发生Heroku错误

对于Node.js和Heroku来说,最近刚刚成立了一个基本的hello世界,现在我试图让Node.js显示一个HTML文件,并且遇到了问题。 这是我的单个JS文件: web.js var express = require('express'); var app = express(); app.set('views', __dirname + '/views'); app.engine('html', require('ejs').renderFile); app.get('/', function(req, res) { res.render('about.html'); }); var port = Number(process.env.PORT || 5000); app.listen(port, function() { console.log("Listening on " + port); }); 我的HTML文件在'/ views'中,只显示基本的文本/标题,在运行'node web.js'时运行FINE。 但是,当上传到Heroku并访问我的网站时,出现以下错误: 错误:无法在ServerResponse.res.render的Function.app.render(/app/node_modules/express/lib/application.js:508:17)视图目录“/ app / views”中查找视图“about.html” (/app/node_modules/express/lib/response.js:782:7)在Object.handle(/app/web.js:9:6)在next_layer(/ app / node_modules / express / lib / […]

如何与socket.io捆绑快速会话

如何使用socket.io将expression式4中的会话关联起来,这样会话数据既可以被检索到,也可以被双向保存。 socket.io中的身份validation是基于标记的jwt 相同的套接字在多个虚拟主机中共享 例如: global.socket.of('/secure').on('connection', function(socket){ console.log('client connected to "secure" socket'); }); app.js var port = 3000, jwtSecret = '26fed98d8c6c7c54f485f1ee7ffe44d2e1feae28'; var app = require('express')(), vhost = require('vhost'), server = require('http').createServer(app), socketioJwt = require('socketio-jwt'); // Start server with socket.io global.socket = require('socket.io').listen(app.listen(port, function(){ console.log('Express server listening on port '+port); })); // Socket authentication global.socket.set('authorization', socketioJwt.authorize({ secret: […]

req.session只有使用AJAX才能定义

所以,我现在一直在挣扎几个小时。 当我使用AJAX将某些东西发送到服务器时,会话将不会被发送到服务器,但是如果没有AJAX,它就可以正常工作,比如点击链接,注销等,这让我无法忍受拉我的头发。 无论如何,这些是我的代码: var express = require('express'), // express 4 mongoskin = require('mongoskin'), Busboy = require('busboy'), cookieParser = require('cookie-parser'), session = require('express-session'), mailer = require('nodemailer'), compress = require('compression'), morgan = require('morgan'), ect = require('ect'), suspend = require('suspend'), MongoStore = require('connect-mongo')(session); app.use(compress()); app.engine('.ect', renderer.render); app.set('env', 'development'); app.use(express.static(__dirname + '/public')); app.use(cookieParser()); app.use('/admin', session({ secret : 'qlauwork secret […]

在Express-JS中查找“Unexpected token;”错误的原因/行

我正在使用快速JS的分析。 我试图显示一个EJS页面,但我得到Unexpected token ; 在服务器上(当命令行parse develop MyApp在terminal上运行时)。 以下是错误的完整堆栈跟踪: I2014-08-02T15:07:19.886Z]SyntaxError: Unexpected token ; at Object.Function (<anonymous>) at exports.compile (ejs.js:256:12) at Object.exports.render (ejs.js:295:10) at View.exports.renderFile [as engine] (ejs.js:325:22) at View.render (express_view.js:77:8) at Function.app.render (express_application.js:516:10) at res.render (express_response.js:763:7) at userQuery.find.success (app.js:31:10) at Parse.js:2:5906 at e (Parse.js:2:5101) 我的app.js有: app.get('/:username', function(req, res){ Parse.initialize("…", "…"); var userQuery = new Parse.Query("_User"); userQuery.equalTo("username", […]

使用Backbone.js创build一个模态

我是Backbone的新手,虽然我做了一些研究,但在创buildModal方面,找不到解决scheme。 我想创build一个基础Modal类,然后重用/扩展它,并在我的其他视图/类中应用不同的模板。 这是我的Modal基类: define([ // Application. 'app', 'backbone', 'plugins/jquery-ui.custom', 'moment' ], function(App, Backbone) { // Create a new module. var Modal = App.module(); Modal.View = Backbone.View.extend({ className: 'ui-modal', render: function () { console.log('this.$el',this.$el,'this.template',this.template); this.$el.html(this.template()); this.$el.delegate('.close', 'click', this.closeModal); this.error = this.$el.find('.error'); return this; }, closeModal: function (ev) { if (ev) ev.preventDefault(); this.$el.unbind(); this.$el.empty(); this.$el.remove(); }, initialize: […]

使用mongolab,nodejs和express提高AngularJS web应用程序的响应时间

我正在开发一个Angular Web应用程序,它接收来自nodejs / express API的数据。 这个API运行连接到MongoLab(免费帐户)的mongoose。 在接收数据时,小数据集(1.5kb)的响应时间> 500ms,“大”数据集(数百kb)的响应时间> 1s。 这显然已经太多了,我担心当我的db增长的时候会更糟。 目前stream程如下: 客户端转到mysite.com/discover 服务器发送Angular App 客户端向mysite.com/api/collections发送ajax请求 服务器连接到MongoLab,接收数据 服务器将数据发送回客户端 这个过程在本地开发(本地节点,本地MongoDB)(<20ms)是非常快的,但在网上花费很多时间。 我调查了花费这么多时间,我发现两个平等的贡献: API响应时间 MongoLab响应时间 MongoDB查询不需要时间(<1ms)。 问题 我可以select什么来缩短这个响应时间? 是否可以在本地存储数据并使用mongoLab作为“复制”(在大多数情况下,它将删除MongoDB延迟)? 如果是这样,你会build议磁盘临时存储,mongoDB副本,…? 我试过了 我迁移了我的mongoLab数据库以匹配我的服务器的物理本地化(数字海洋上的虚拟机),它提高了几个50毫秒,没有更多。 非常感谢

500(内部服务器错误)JavaScript,parsing,快速发布请求

我正在写一个parsing应用程序的乐趣。 我正在使用JavaScript,parsing,Express,并且只有有时发生错误时,我有一个职位请求。 我有一个职位表格: form id="eventForm" action="newEvent" method="post"> <div> <label for="GoingWhere">Where are you headed: </label> <input type="text" id="where" name="where"></input> </div> 像下面这样运行(不pipe表单的大小)通常会以500错误结束: app.post('/newEvent', function(req, res) { var event = new Event(); //example for future for form submission event.destination = req.param('destination', null); event.where = req.param('where', null); event.expectedBack = req.param('expectedBack', null); event.emergency = req.param('emergency', null); event.timeLeaving = req.param('timeLeaving', null); […]