Tag: 表示

Runscope – 如何发送一个JSON正文与我的POST请求?

我正在使用Runscope来testing我的Node / Express应用程序,我无法弄清楚如何通过Runscope中的POST请求发送JSON Body。 我试过的所有东西都不能被expressParserparsing。 我想发送的JSON看起来像这样: { "variable1":"value1", "variable2": { "variable3": "value2" } }

快速会话不会注销

代码 app.js: var express = require('express'); var session = require('express-session'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var mongoStore = require('connect-mongo')(session); var mongoose = require('mongoose'); var passport = require('passport'); var config = require('./config'); var routes = require('./routes'); var mongodb = mongoose.connect(config.mongodb); var […]

Express.js使用路由器与App.use路由的好处?

根据Express文档 , app.use和Router都实现了路由器接口,可以同时作为中间件。 所以基本上你可以通过做定义路线 app.use(function (req, res, next) { next(); }) 或者你也可以做 var router = express.Router(); router.get('/', function (req, res, next) { next(); }) app.use(router); 我只是想知道是否有一个原因,我会在应用程序使用路由器? 我唯一能find的就是我需要与我的params保持一致。 只是好奇。

使用自定义方法来扩展ExpressJS / Response对象的正确方法是什么?

现在我通过中间件来扩展请求对象: function(req, res, next) { res.customMethod = function() { } next(); } 但是由于res.prototype命名空间的污染,我认为这是不正确的。 有没有人知道更好的方法,或者expressjs4已经有任何方法呢?

expressionjs多个应用程序中间件

我有一个简单的网站与两个独立的应用程序(在同一网站,不同的路线),说个人资料的应用程序和产品的应用程序。 我可以让他们的路线,但我想保持在像应用程序单独的目录结构。 我想知道使用一个global.app是不是很好的做法或为每个应用程序创build单独的应用程序? 另外,如果我使用单独的应用程序,我怎么能在多个应用程序之间有一个共同的中间件?

Bacon.js和RxJS与Express.js和Mongoose.js

我使用Express.JS(4.x版)在服务器端使用Bacon.js, 这个方法从不回应! 我在这里做的事情是非常错误的吗? var User = require('../data/User'); var Bacon = require('baconjs').Bacon; module.exports = function(router){ router.route('/users').get(function(req, res){ var result = Bacon.fromNodeCallback(User.find, null); result.onValue(function(docs){ res.status(200).send(docs); }); result.onError(function(err){ res.status(500).send(err); }); }); }; 很显然,我和RxJS一样都失败了… var User = require('../data/User'); var Rx = require('rx'); module.exports = function(router){ router.route('/users').get(function(req, res){ var query = Rx.Observable.fromNodeCallback(User.find)(); query.subscribe(function(docs){ res.send(docs); }, function(err){ res.send('Error: ' + err); […]

Mongoose对象ID为null

我正在创build一个对象注册(一个Mongoose模式),我需要设置它在User Id与这一行: registrationId: registration._id}); 但是,即使它是callback函数, Id仍然是null的? 当我检查数据库的注册有,当然,但不是在callback。 如何设置User Registration的Id ? 编辑2:改为最小的例子。 这打印出两次null 。 exports.create = function(req, res) { Registration.create(req.body, function(err, registration) { if(err) { return handleError(res, err); } console.log(registration._id); console.log(registration.id); return res.json(201, registration); }); }; 编辑:这是架构(我遗漏了一些不需要的字段): 'use strict'; var mongoose = require('mongoose'), Schema = mongoose.Schema; var RegistrationSchema = new Schema({ isReservation: Boolean, //Id of the […]

当require(“http”)。Server()以Express应用程序作为参数进行评估时,会发生什么情况?

我正在读这里的Socket.io聊天演示: http ://socket.io/get-started/chat/,当我看到他们的require语句时,我感到困惑。 var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.sendfile('index.html'); }); io.on('connection', function(socket){ console.log('a user connected'); }); http.listen(3000, function(){ console.log('listening on *:3000'); }); 我正确地认为require("express")产生一个可执行的Express函数(带有所有必要的函数和字段),并且require("http").Server(app)创build一个http.Server对象与所有的领域和function。 如果是这样的话,我很困惑,因为Express在我们调用.listen函数的时候创build了一个服务器,所以看起来是多余的,而且是向后传递一个Express应用程序到一个http模块服务器。 所以,我的问题是,这里发生了什么?

如何从快递中获取当前的Windows用户?

您好,我是新的Nodejs和expression框架。 我正在实现一个简单的CRUD应用程序,用户期望从MS Windows访问页面。 我希望记下当前的Windows用户名。 我已经尝试login页面上的用户代理string,看起来用户代理不包含Windows用户名。 这是真的? 什么是正确的方式来实现呢? res.render('search', {user: req.get('User-Agent')}); 那么在玉器里, body p welcome, #{user}! 这是我得到的: Welcome, Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36!

节点js退出状态8,错误代码0在mac上运行

按照这个指南我有一个错误,但不知道是什么问题。 我设法得到第2步的结束没有问题,我重新启动服务器npm start 。 然后,我对玉文件进行了一番揣测,又跑了起来,呻吟了一阵,把原木放在很less的地方。 在发布之前,我删除了整个文件夹并重新开始,但是现在npm服务器甚至不会使用express创build的基本文件。 当我运行: npm install -g express就像本地用户一样,我得到的错误告诉我以root身份运行。 所以express被安装为root,但是npm install -g express-generator作为本地用户运行良好。 因此,安装了快速生成器和快速生成器后,现在可以创build一个快速项目(以本地用户身份login,而不是root,项目名称… noders): express noders 现在npm安装得到所有的依赖关系: npm install 所以理论上我现在应该能够启动节点js服务器… npm start 但结果是: Janines-MacBook-Pro:noders janinenitz$ npm start > noders@0.0.0 start /Users/janinenitz/node/noders > node ./bin/www events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EADDRINUSE at errnoException (net.js:905:11) at Server._listen2 (net.js:1043:14) at […]