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"}
所以,遇到这些问题的时候,查看官方说明文档会有很大的帮助