Express 4中未定义POST主体

我试图张贴到expression4路线,但是当我尝试logging身体我得到未定义的消息,这里是我的configuration:

/server.js

/* main module entry point */ 'use strict'; var express = require( './server/node_modules/express' ); var bodyParser = require( './server/node_modules/body-parser' ); var env = require( './server/env' ); var app = module.exports = express(); app.use( require( './server/modules/auth' ) ); app.use( express.static( __dirname + '/client/' ) ); app.use( bodyParser.urlencoded( { extended: true } ) ); app.use( bodyParser.json() ); app.get( '/*', function ( require, response ) { response.sendFile( __dirname + '/client/index.html' ); } ); app.listen( env.port, function () { console.log( 'Listening to port ' + env.port ); } ); 

/server/modules/auth/index.js

 module.exports = (function () { var express = require('express'), router = express.Router(), signin = require('./signin.controller'); router.route( '/signin' ) .get( signin.get ) .post( signin.post ); return router; })(); 

/server/modules/auth/sigin.controller.js

 module.exports = (function () { models = require( '../../database/models' ); function get( request, response ) { models.users.findAll().then( function ( users ) { response.json( users ); } ); console.log( 'Sign In' ); } function post( request, response ) { console.log( 'Sign In ' + request.body );//Returns "Sign In Undefined" response.send('Signed In'+ request.body); } return { get: get, post: post } })(); 

代码中有什么错误吗?我使用邮递员来testing它: 邮差

我正在使用的标题是:

内容types:application / json

订单很重要。 尝试这个:

 /* main module entry point */ 'use strict'; var express = require( './server/node_modules/express' ); var bodyParser = require( './server/node_modules/body-parser' ); var env = require( './server/env' ); var app = module.exports = express(); app.use( express.static( __dirname + '/client/' ) ); app.use( bodyParser.urlencoded( { extended: true } ) ); app.use( bodyParser.json() ); app.use( require( './server/modules/auth' ) ); app.get( '/*', function ( require, response ) { response.sendFile( __dirname + '/client/index.html' ); } ); app.listen( env.port, function () { console.log( 'Listening to port ' + env.port ); } ); 

基本上,你要告诉express不要parsing正文内容,直到auth.js中的中间件运行。