2012-07-26 54 views
1

我無法使用express.js子模塊,我想我缺少一些基本的對象。我試圖按照this tutorial建立一個簡單的認證系統。express.js連接模塊的問題

路徑在應用程序目錄表示:

./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

本教程使用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快遞佔本教程中使用的版本之間的任何其他差別和你正在開發的那個。

+0

真棒,謝謝 – nflacco 2012-07-26 02:59:02