Tag: express

尝试在Heroku上部署Node.js / Express / Socket.io应用程序时出现应用程序错误

对于所有这些技术(包括有些JavaScript),我都相当陌生,因此您可能需要在这里忍受。 我在Socket.IO文档中紧跟着ChatApp教程,并且对应用程序进行了一些修改, 不过,我不认为我在服务器交互和东西方面有很大的改变。 我的问题是不pipe我做什么,我似乎无法让我的应用程序在Heroku上成功运行。 尝试加载应用程序时出现此错误消息: 应用程序错误应用程序中发生错误,您的页面无法送达。 请稍后重试。 如果您是应用程序所有者,请查看日志以获取详细信息。 我不知道我是否失去了一些明显的或什么。 这是我的主要index.js文件: var express = require('express'); var app = express(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendfile('index.html'); }); app.use("/css", express.static(__dirname + '/css')); //array of users currently in chat var people = {}; io.on('connection', function(socket){ console.log('user connected!'); socket.on('join', function(name){ people[socket.id] = name; //create […]

socket.io并表示4个会话

我想在我的socket.io应用程序中访问express 4会话。 我有点新的Node,我有一些麻烦实施这个function。 我发现一个npm模块,可以访问express 4会话: https : //www.npmjs.org/package/session.socket.io-express4或https://github.com/eiriklv/session.socket.io 如果你看下面我的app.js代码,我会在session , sessionStore或者cookieParser设置上做错误的事情,因为我不能让这个模块工作。 // init modules var express = require('express'); var helmet = require('helmet'); var fs = require('fs'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var session = require('express-session'); var memoryStore = session.MemoryStore; var […]

node.js和单页web应用程序

我正在看express.js的后端和JS在客户端。 我的应用程序是单个页面的Web应用程序。 服务器将只提供JSON消息,我的问题是关于“路由”expression。 是否应该使用路由来连接UI和服务器端业务逻辑? 这将如何与我的单页面应用程序? 所以可以说,客户端向服务器发出一个Ajax调用,在数据库中寻找一个值,并且有一个服务器端脚本将JSON提供给UI。 这个UI和节点脚本关系如何设置? 有人可以解释一下吗?

Mongodb通知文件更新

想象一下,如果我有一些mongodb与一些文件和一个nodejs服务器,从mongodb发送到客户端使用socket.io的json数据,并且一些进程已更新当前在客户端视图中的mongodb文档,我想知道是否有一种方式,以便mongodb通知nodejs服务器何时由客户自己以外的任何人更新对象,以便我可以通过打开的套接字发送更新的文档json,这样的事情可能吗? 我试图find一些资源在谷歌没有运气。

护照令牌authentication*无*数据库会话

我正在寻找一种方法来使用Passport.js的Twitter策略,而不使用数据库中的会话集合/表。 原因是我们将会话集合中的所有数据都保存得很大,每当用户发出请求时我们都会保存数据库往返,因为我们不必每次都去DB去获取会话数据。 无论如何,我们应该能够使用令牌(JSON Web令牌)来validation用户,这篇文章如何描述: https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens 但是我很困惑,为什么没有一个简单的方法来做这个护照? (这篇文章没有护照什么都可以做 – 但是Passport已经包括了这个?)。 也许我正在推翻这一点,而这样做只是为了省略我在Express中使用DB会话的呼叫,然后Passport已经足够聪明来处理JWT了? 不知何故,我怀疑这一点。 例如,在我的Express服务器中注释掉这些代码当然是不够的。 //app.use(expressSession({ // secret: 'arrete_x_paulette', // store: new MongoStore({mongooseConnection: mongoose.connection}), // saveUninitialized: true, // resave: true, // cookie: { // secure: false, // maxage: 6000000 // }, // proxy: false //})); 和 //app.use(passport.session()); 那么使用护照就足够了? 为什么有人会使用基于JWT的身份validation来使用存储在数据库中的会话?

coffeescript,玉器,手写笔 – > js,css资产经理? 的node.js

我在咖啡,玉和铁笔工作。 我的应用程序提供两个不同的“单页应用程序”。 对于这些应用程序,我为初始有效负载提供所有资产。 我想将所有的咖啡脚本文件和玉雕成一个单一的js资产和手写笔文件分组,编译和连接成一个单一的CSS资产为每一个“一个页面的应用程序”。 然后,我可以将我的/public/js和/public/css单独留下,并且它们将始终具有两个不同应用程序的当前js和css资产文件。 有没有人以前设置过这样的工作stream程? 任何想法我可以做到这一点? 谢谢!! 编辑: http : //blog.fogcreek.com/the-trello-tech-stack/ 通过更多的研究,我发现了这里写的这个过程,但是他们没有说明他们是如何做到的。

我应该做API请求服务器端还是客户端?

我正在尝试使用ExpressJS和Coffeescript来制作一个Web应用程序,该应用程序从Amazon,LastFM和Bing的Web API中提取数据。 用户可以请求数据,例如特定乐队的特定专辑的价格,即将到来的音乐会时间和乐队的位置等等。 我的问题是:我应该使用jQuery和getJSON使这些API调用客户端,还是应该在服务器端? 我已经完成了客​​户端请求; 我怎么会甚至从服务器端进行API调用? 我只想知道最佳做法是什么,如果有人能指出我做出服务器端API请求的正确方向,那将是非常有帮助的。 谢谢!

在MEAN堆栈中生成dynamichtml表单

我刚刚开始学习MEAN栈,需要dynamic生成dynamic表单。 需要导入文档(excel / csv / xml / xls等),并使用它生成dynamic表单,以便用户可以更新其数据并将其导出到相应的文件中。 所以要做到这一点,我将文档转换为JSON格式,并将JSON数据存储到MongoDB数据库中。 例如:考虑这个xlsx数据: ID Name dob Gender 1 user1 7-Dec-87 m 2 user2 8-Dec-87 f 3 user3 9-Dec-87 f 3 user4 4-Dec-87 m 我使用xlsx-to-json模块将其转换为JSON格式,并将其存储到Mongodb中。 app.post('/myapp', function (req, res) { //console.log("===========" + req.file.path); converter({ input: req.file.path, output: "output.json" }, function (err, result) { if (err) { console.error(err); } else […]

(NodeJS)Express仅通过使用Connect提供了什么?

Express提供的仅仅是使用Connect? Express的大部分function似乎都是Connect的function。 有什么Express提供的列表? 谢谢, 克里斯。

如何更新由passportjs设置的req.user会话对象?

我试图做很多天,但所有的testing失败… 我的平台上的用户使用passportjs策略(paypal,facebook,google …)连接它们。 当用户连接时,我在标题的右侧写上他的昵称。 头文件的html代码是从handlebars模板生成的,当这个部分由expressjs服务的时候,我把req.user会话对象发送给模板,以便编写昵称和其他信息。 顺便说一下,这工作的很好,但我有一个问题,当用户从他的configuration文件更新他的昵称,我不能更新服务器端的会话对象,如果用户重新加载页面,旧的昵称再次出现。 而且我不想每次用户加载一个页面都要求数据库的用户信息,所以我想保留这个configuration: // — Passport session setup passport.serializeUser(function(user, done) { done(null, user); }); passport.deserializeUser(function(obj, done) { done(null, obj); }); 我的中间件设置当地人: // — Set accessible datas from the template res.locals = _.extend(res.locals, { user: req.user, query: req.url, title: app.config.title, url: app.config.url }); 我失败了: // Trying to update req.user directly : not […]