因爲本身是看着Node.js in Action學習的,發覺有些例子在本身的機子上會出錯,最後發現是版本緣由形成的。書中的connect模塊版本是<3.0,而我安裝的是3.1,模塊的使用發生了比較大的改變git
就好比下面這個例子github
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這個方法的錯誤npm
在github上查看文檔說明是3.0以後的版本這些中間件(middleware)都獨立出來了cookie
若是要想使用cookieParser,則須要安裝模塊:app
$ npm install cookie-parser
下面是本身新的實現curl
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"
會有以下返回結果:ui
{"foo":"bar, bar=baz"}
因此,遇到這些問題的時候,查看官方說明文檔會有很大的幫助url