2015-02-26 2 views
1

Я новичок в nodeJS. Я пытаюсь использовать разные middlewares со связующим ПО.Функция объекта createServer() не имеет метода 'bodyparser'

это мой код:

var connect = require('connect'); 
 
var bodyParser = require('body-parser'); 
 
var cookieParser = require('cookie-parser'); 
 
var app = connect() 
 
.use(connect.bodyParser()) 
 
.use(connect.cookieParser('tobi is a cool ferret')) 
 
.use(function(req, res){ 
 
console.log(req.cookies); 
 
console.log(req.signedCookies); 
 
res.end('hello\n'); 
 
}).listen(3000);

Я установил все промежуточное программное обеспечение через НПМ.

Я получаю эту ошибку во время запуска этого файла.

/home/dipesh/Desktop/temp/temp.js:5 
.use(connect.bodyParser()) 
     ^
    TypeError: Object function createServer() { 
    function app(req, res, next){ app.handle(req, res, next); } 
    merge(app, proto); 
    merge(app, EventEmitter.prototype); 
    app.route = '/'; 
    app.stack = []; 
    return app; 
    } has no method 'bodyParser' 
    at Object.<anonymous> (/home/dipesh/Desktop/temp/temp.js:5:14) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:929:3 

Любые предложения?

+0

Любопытно, почему вы используете Connect вместо Express? – jfriend00

+0

Я изучаю узел js из книги «Manning NodeJS в действии». следующий глава экспресс –

ответ

1
.use(bodyParser()) 

не

.use(connect.bodyParser()) 

Вы требовали body-parser, но никогда не использовал его.

Вы, по существу, делает

var a = function(){}; 
var b = {}; 

b.a(); 

, которая не является правильным, потому что b не имеет 'a' свойство.

+0

Bingoo .. @loganfsmyth спасибо. Я скопировал этот код из книги «Manning NodeJS в действии». это опечатка в книге или что? Почему мы должны использовать это? –