【发布时间】:2012-03-05 17:37:03
【问题描述】:
使用 Mac 端口在 MAC OS X 上安装 NodeJS v0.6.12。
win764:node iwaldman$ which node
/opt/local/bin/node
win764:node iwaldman$ node -v
v0.6.12
使用 npm install connect 安装连接。
写了一个简单的程序,connectServer.js:
var connect = require('connect');
var util = require('util');
function sendJSON(response, obj) {
response.writeHead(200, {'Content-Type':'application/json'});
var objStr = JSON.stringify(obj);
util.debug('SENDJSON: ' + objStr);
response.end(objStr);
}
var server = connect.createServer(
connect.router(function(app){
app.get('/foo', function(req, res){
sendJSON(res, {path: 'foo'});
})
app.get('/bar', function(req, res){
sendJSON(res, {parth: 'bar'});
})
})
);
server.listen(3000);
util.debug('Server running at http://127.0.0.1:3000');
运行节点 connectServer.js。
得到以下错误:
win764:node iwaldman$ node connectserver.js
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
TypeError: Object function createServer() {
function app(req, res){ app.handle(req, res); }
utils.merge(app, proto);
utils.merge(app, EventEmitter.prototype);
app.route = '/';
app.stack = [].slice.apply(arguments);
return app;
} has no method 'router'
at Object.<anonymous> (/Users/iwaldman/dev/node/connectserver.js:12:10)
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)
感谢任何想法。
【问题讨论】:
-
您在使用连接和阅读快速教程吗?
connect.router不是一个东西。app.get也不是 -
我正在学习教程。我没有使用 Express。
-
什么教程?也许它已经过时了?
-
好点,先生。有趣的是,它几天前还在工作。也许连接的更新破坏了此功能。非常感谢您的快速回复。
-
嗨,很遗憾我没有链接,因为我正在阅读“在云中构建应用程序”一书。