Node.js笔记(0002)---connect模块

由于自己是看着Node.js in Action学习的,发觉有些例子在自己的机子上会出错,最后发现是版本原因造成的。书中的connect模块版本是<3.0,而我安装的是3.1,模块的使用发生了比较大的改变

就比如下面这个例子

1 var connect = require('connect');
2 var app = connect()
3     .use(connect.cookieParser('hello'))
4     .use(function(req, res) {
5         console.log(req.cookies);
6         console.log(req.signedCookies);
7         res.end('hello\n');
8     }).listen(3000);

在我的机子(connect版本3.1.0)上运行会提示没有cookieParser这个方法的错误

在github上查看文档说明是3.0之后的版本这些中间件(middleware)都独立出来了

如果要想使用cookieParser,则需要安装模块:

$ npm install cookie-parser

下面是自己新的实现

1 var connect = require('connect');
2 var cookieParser = require('cookie-parser');
3 
4 var app = connect();
5 
6 app.use(cookieParser('hello'))
7     .use(function(req, res, next) {
8         res.end(JSON.stringify(req.cookies));
9     }).listen(3000);

在命令行上输入:

$ curl http://localhost:3000/ -H "Cookie: foo=bar, bar=baz"

会有如下返回结果:

{"foo":"bar, bar=baz"}

所以,遇到这些问题的时候,查看官方说明文档会有很大的帮助

posted @ 2014-08-03 18:06  BeeWin  阅读(347)  评论(2编辑  收藏  举报