express.js连接模块有问题

时间:2012-07-26 00:54:29

标签: node.js express connect npm

我无法使用express.js子模块,我认为我缺少一些基本的内容。我正在尝试按照this tutorial构建一个简单的身份验证系统。

在app dir中表达的路径:

./node_modules/express/lib/express.js

我的应用:

var express = require('express');
var app = express.createServer();
app.use(express.bodyDecoder()); // problems happen here

以下是发生的事情:

meeeeee$ node app.js 

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
TypeError: Object #<Object> has no method 'bodyDecoder'
    at Object.<anonymous> (/Users/nflacco/Projects/santorinillc/js/auth-demo/app.js:3:17)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:40)

另外参考我的package.json文件:

{
    "name" : "my dirty little app",
    "version" : "0.0.1",
    "dependencies" : 
    {
        "express" : "2.5.9",
        "connect" : "1.8.7",
        "optimist" : "0.3.4"
    }
}

1 个答案:

答案 0 :(得分:1)

本教程使用express 1.0.0rc4,您正在使用2.5.9。早期版本的express依赖于connect的1.x之前的版本。

bodyDecoder()已在bodyParser()中重命名为connect 1.x。将有问题的代码行更改为:

app.use(express.bodyParser());

您可能还需要查看1.x到2.x Migration Guide for express,以解释教程中使用的版本与您正在开发的版本之间的任何其他差异。