我无法使用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"
}
}
答案 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,以解释教程中使用的版本与您正在开发的版本之间的任何其他差异。