Tag: 快速

快速护照会议不起作用

我正在构build一个Node应用程序,在这个应用程序中用户必须注册或login,然后当他们拖放一些元素(前端全部正常工作)时,我在数据库上存储他们的行为以及相应的userId。 我的理解是,一旦他们注册/login,我可以使用req.user来访问他们的ID并正确地存储他们的行动,但它不工作。 这是我的server.js文件中处理Passport的部分。 另外,我使用Sequelize作为ORM,但是所有处理数据库的东西在没有req.user部分的情况下都是完美的。 app.use(cookieParser()); app.use(bodyParser.json()); app.use(passport.initialize()); app.use(passport.session()); /****** Passport functions ******/ passport.serializeUser(function (user, done) { console.log('serialized'); done(null, user.idUser); }); passport.deserializeUser(function (id, done) { console.log("start of deserialize"); db.user.findOne( { where : { idUser : id } } ).success(function (user) { console.log("deserialize"); console.log(user); done(null, user); }).error(function (err) { done(err, null); }); }); //Facebook passport.use(new FacebookStrategy({ //Information […]

从node.js返回文件的parsing输出

我有我的文件阅读和正确parsing,但我似乎无法返回输出string。 我希望能够从它分配给客户端的variables中访问此string。 我正在使用asynchronous系列来帮助缓解callback地狱和输出击中控制台罚款。 但是,如果我在相同的地点下降返回输出,它不起作用。 build议? embed_analytics: function(){ var output; async.series({ read_file: function(callback){ fs.readFile(__rootpath+'/apps/analytics/data/analytics.json', 'UTF-8', function(err,data){ if(err) { console.error("Could not open file: %s", err); process.exit(1); } try { var config = JSON.parse(data); callback(null, config); } catch(exception) { console.error("There was an error parsing the json config file: ", exception); process.exit(1); } }); } }, function(err, results) { […]

快速响应正文缓冲

我正尝试使用Node构build一个快速而简单的图像上传服务,它将接收到的图像保存到Mongo的GridFS中。 GridFS获取需要一个Buffer对象NodeJS Mongo Driver GridFS 这个问题很简单:我如何将接收到的请求正文转换成适当的缓冲区。 我的代码到目前为止(只有重要的部分):api.js var express = require('express'); var connect = require('connect'); var app = module.exports = express.createServer(); app.configure(function(){ app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); }); var upload = require('./upload.js'); app.post('/upload', upload.upload); upload.js exports.upload = (function(req, res, next){ console.log("Uploading image…"); // Create buffer // Rest of the code } 我试过了: var buffer = new Buffer(util.inspect(req.body),'binary'); […]

调用mongoose保存方法时,async.js的瀑布方法挂起

我试图使用asynchronous瀑布方法,但是当它到达其中一个函数,它挂起。 我怀疑这是因为save()操作对于执行上下文来说太慢了,但这就是为什么我开始使用asynchronous的瀑布,所以我可以等待返回的值,直到它到达系列中的下一个函数(传递适当的数据,这将在我的情况下counted )。 //在我的用户控制器中: async.waterfall([ function(callback) { getSubmission(id, function(submission) { if (submission) { callback(null, submission); } }); }, function(submission, callback) { var submissionId = submission._id; getViews(submissionId, ip, function(count) { if (count) { callback(null, count, submissionId); } }); }, // Those top two functions work perfectly passing what // I need to this one which is […]

Node – Express 4 csrf

随着Express 4连接的曙光不再是依赖。 我无法在快递网站上find任何新的csrf实施。 旧的方式是app.use(express.csrf()); 然后添加一个中间件函数来在视图中显示它。 我的问题是:我现在不得不把连接作为一个依赖项,或者是有一些现在expression的东西,允许我错过了csrf? 或者我可以只包含csrf的来源到我的应用程序?

简单的Expressjs应用程序没有响应

我正在努力升级到expressjs 4.0。 下面这个非常简单的代码将请求挂到http://localhost:3000/并且没有任何重新排列的东西可以解决这个问题。 但是,如果我注释掉cookie-parser,body-parser和express-session的app.use()语句,它就会起作用。 显然我需要他们,所以留下他们评论出来是不是一个选项。 我知道我做错了,这很简单,但我无法看到它。 有人能给我一个正确的方向推动吗? var express = require('express') , cookie = require('cookie-parser') , body = require('body-parser') , session = require('express-session') , http = require('http'); var app = express(); var router = express.Router(); app.use(cookie); app.use(body); app.use(session({ secret: 'bigsecret' })); router.get('/', function(req, res, next) { res.send('Welcome'); }); app.use(router); app.set('port', process.env.PORT || 3000); http.createServer(app).listen(app.get('port'), function(){ […]

在callback中调用node.js中的助手函数?

我是相当新的编程与node.js,我不知道为什么我得到这个错误。 该函数看起来设置正确,我不认为我有任何asynchronous问题B / C这些应该考虑我自己的地方(我认为)的自variables。 我也尝试没有这个,使用简单的变种consolePrint(…)无论如何,这是我的代码在下面,错误日志下面。 /* global __dirname */ var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var self = this; //CALLING HELPER FUNCTION HERE var server = app.listen(8000, self.consolePrint(server)); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); app.use('/public', express.static(__dirname + '/public')); app.get('/', function (req, res) { res.sendFile(__dirname + '/public/views/index.html'); }); //—————helper function(s)——————-// self.consolePrint […]

在单独的线程NodeJs中运行长时间运行的快速API进程

我有一个API调用需要大约5-10分钟的时间来处理。 我设置了一个超时方法,这样我就可以立即获得一个排队状态的API响应。 下面简单的视觉 doWork(object) => { /*… Takes 5 minutes */ } app.post('/longProcess',(req,res)=> { setTimeout(this.doWork(req.body), 1000); res.send({ status: 'queued' }); }) 这对第一个请求立即作出回应的作品。 但第二个请求被locking,等待doWork完成。 而不是使用SetTimeout,我真正想要做的就是将longProcess发送到一个单独的单线程队列和逐一处理这些。 有什么build议么?

404请求expression路由时

我想了解快递和它如何处理路线。 我有一个域设置了以下结构 / app.js /public_html index.html 在app.js中,我build立了我的express服务器: let app = express(); app.post('/list', (request, response) => { //get data then… response.send(data) }); app.use(express.static('public_html')) app.listen(3000, function(){ console.log('listening'); }); 我运行与node app.js的应用程序 然后,在public_html目录的index.html中,我试图请求数据。 我只是做了一个简单的: fetch('/list').then(function(response) { console.log(response) }) 但是我得到了一个404作为回应。 我对以下几件事有点困惑: 我的networking服务器(Apache / Ubuntu)默认设置为从public_html目录中提供html。 这是否意味着我的整个节点的应用程序结构需要被移动到public_html文件夹和实际的HTML移动到一个static文件夹或东西? 那么港口呢? 节点应用程序在端口3000上侦听 – 但是我不确定如何(或如果)特别向端口发出请求。 路线path – 我张贴到/list但应该是../list ? 我还没有find适用于这个应用程序的configuration。 任何帮助,将不胜感激。

如何加速node.js文件操作?

在我的项目中,客户端会请求从服务器下载一个带有ID的文件。 我必须执行以下操作: 从mongoDbvalidationID 检查扩展名 检查文件是否存在 阅读文件并将内容写入回复 我正在使用下面的代码来检查文件并发送响应。 fs.exists(filename, function(exists) { if (!exists) { res.writeHead(404, '', { "Content-Type" : "text/plain" }) res.write("404 Not Found\n"); res.end(); return; } fs.readFile(filename, "binary", function(err, file) { if (err) { res.writeHead(500, '', { "Content-Type" : "text/plain" }) res.write(err + "\n"); res.end(); return; } res.setHeader("Pragma", "public"); res.setHeader("Cache-Control: private, max-age=3600"); res.setHeader("Transfer-Encoding: chunked"); res.setHeader("Range: […]