Tag: 表示

Express.js请求正文__proto__

express.urlencoded()中间件生成的request.body有点问题。 在某些情况下,它会在request.body对象的末尾添加__proto__ ,并且不能直接用来启动moongose模型,如var user = new User(req.body) 作为一个例子,我将使用node-express-mongoose-demo存储库。 所有表单都可以正常工作,但是app.post('/users', users.create)用__proto__收到了req.body“污染” 在此先感谢您的帮助

空闲时间后closures监听器

我有一个简单的自动启动的nodejs服务器。 它使用express来托pipe端点,它是以一个简单的app.listen(port); 命令。 由于我有一个自动启动,所以我想在空闲时间后closures服务器,比如说3分钟。 我已经手动编码它只是使用下面的函数,这是每个app.post上app.post : //Idle timer var timer; function resetIdleTimer() { if (timer != null) clearTimeout(timer); timer = setTimeout(function () { logger.info('idle shutdown'); process.exit(); }, 3 * 60 * 1000); } 这似乎有点粗糙,所以我想知道是否有一个整洁的方式(在某种forms的计时器express也许)。 在快速文档看,我没有看到一个简单的方法来configuration这个。 有没有更好的方法来实现这种闲置关机?

如何使用websockets制作粗糙的应用程序?

我想用socketio做一个快速的应用程序,一个简单的crud应用程序,但实时 socket.on('users:create',function(data){ console.log(data); salt = cryptom.salt(32); hash = cryptom.hash(data.pass,salt); u = new user({ name: data.name, salt: salt, hash: hash, email: data.email, ci: data.ci, telf: data.telf, rif: data.rif, }); u.save(function (err) { if(err){ console.log(err); }else{ user.find({},function(err,user){ io.sockets.emit('users:index',user); }); }}); }) 我想知道这是否正确,如果是有效的通过websockets发送所有的信息。

带有节点mongo本地GridFS检测错误的New Relic

当我NewRelic= require('newrelic'); 并执行 var NewRelic= require('newrelic'), mongo_native = require('mongodb'), Express= require('express'), http= require('http'); GridStore = mongo_native.GridStore; process.on('uncaughtException', function(err) { console.log('Uncaught Exception', err); }); mongo_native.connect(mongoLabUri, {}, function(err, db){ var app= Express(); var server= http.createServer(app).listen(5009, function(err){ console.log('listening on 6000, err:',err); app.get('/', function(){ console.log('received request to /'); var gs = new GridStore(db, 'RandomFileName'+Math.random(), "w" ); console.log('initalized gridstore'); gs.open(function(err, […]

Jade助手为FontAwesome

我想在Express.js jade模板中写一些FontAwesome帮手,所以我在app.js做了: app.locals.icon = function(icon){ return '<i class="fa fa-' + icon + '"></i>'; }; 并在模板中调用: block content h1= title p Welcome to #{title} = icon('users') 但是,它返回给我转义的HTML代码。 写这种帮手的好习惯是什么? 如何返回原始HTML?

如何检查当前密码和(如果正确)使用Passport.js本地策略更新密码

我需要编写普通的代码来检查通过表单提交的当前用户密码值,看看它是否与数据库中的现有密码匹配,如果是,请将密码更新为通过同一表单提交的新密码值。 然而,我无法find任何使用Passport.js的方法。 任何人都可以build议如何我可以做到这一点在我的用户控制器下面,如果有任何帮助function提供的护照,我应该使用这个,以及如何做到这一点哈希和咸的密码? 这是我的代码: // Form Submitted req.body = { _id: '5294198b7b35ad2794000001', email: 'testusera1@abc.net', name: 'John Smith', provider: 'local', username: 'ab123', current_password: 'currentpassword', new_password: 'newpassword' } // Route app.put('/users/me', users.update); // Controller var mongoose = require('mongoose'), User = mongoose.model('User'), _ = require('underscore'), passport = require('passport'), LocalStrategy = require('passport-local').Strategy; exports.update = function(req, res) { var user […]

“肯定键入的”NodeJS + Express定义文件有错误

我正在尝试将具有NodeJS + ExpressJS的项目转换为打字稿。 我从Definitely Typed获得了定义文件,但是他们似乎有很多错误: export interface ClientRequest extends events.NodeEventEmitter, stream.WritableStream { // Extended base methods write(str: string, encoding?: string, fd?: string): boolean; write(buffer: NodeBuffer): boolean; write(chunk: any, encoding?: string): void; end(data?: any, encoding?: string): void; abort(): void; setTimeout(timeout: number, callback?: Function): void; setNoDelay(noDelay?: Function): void; setSocketKeepAlive(enable?: boolean, initialDelay?: number): void; } export interface Server […]

问题与服务静态文件与socket.io

我正在创build一个Web应用程序,用户可以login(密码/用户名)。 login后,他可以select2个可用的应用程序之一。 第一个应用程序使用客户端和服务器之间的http连接。 第二个使用web套接字。 所以当用户点击第二个应用时,应该build立一个websocket。 我的第一个应用程序工作正常,也是第二个,但是当我把所有的一起。 我有个问题。 这是我迄今为止所做的: server.js var app = express(); var server = http.createServer(app, function(req, res) { //serves static files //processes GET and POST requests of both the login page and the 1st app } server.listen(80, function() { console.log("Server listening on port 80."); }); app.configure(function () { app.use(express.cookieParser()); app.use(express.session({secret: 'secret', key: 'express.sid'})); […]

路线链接快递

我有一个简单的应用程序,build立在node.js和express的帮助下。 这个应用程序有多个路线和基本的login/注销机制。 我想要所有的路由来检查使用是否已经login,否则 – redirect到login表单。 这可以通过在每个路由文件中插入auth检查器行来完成。 问题是:是否有可能链路由推送所有请求通过login检查器路由,然后将其传递到所请求的一个,而不写任何东西到现有的路由文件? 例如现有的路由是“/”,“/ upload”,“/ login”,“/ logout”。 我希望获取或发布 “/ upload”的请求首先由“/ login”路由处理,然后通过“upload”路由处理。

Node.js:带有CNAMElogging的url路由

我想将example.org和cname.example.org映射到两个不同的node.js应用程序。 但是不要使用http网页服务器,如nginx。 Web框架是express 。 那么express或node.js中的任何中间件都可以这样做吗?