解决书中Express版本低导致的一些问题_Node.js开发指南书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Node.js开发指南 > 解决书中Express版本低导致的一些问题
雨夏 Node.js开发指南 的书评 发表时间:2012-12-31 11:12:49

解决书中Express版本低导致的一些问题

我使用的Express 版本是3.0.5,作者出书时使用的Express版本太低了,导致书中很多代码都不能正确地执行,下面分享一下自己遇到一些问题后网上找到的解决办法。

----解决书中会话的代码问题----
使用Express自带的MomeryStore:
在app.js中添加:
app.use(express.cookieParser());
app.use(express.session());
app.get('/session', function(req, res)
{
    if (req.session.logged)
    { res.send('logged'); }
    else
    { req.session.logged = true;
    res.send('log'); }
});
使用MongoStore代替MemoryStore:
在app.js中添加:
var MongoStore = require('connect-mongo')(express);
app.use(express.cookieParser());
app.use(express.session({
    store: new MongoStore ({
        host: 'localhost',
        port: 27017,
        db: 'mydb'
    }),
    secret: 'what a good day'
}));
app.get('/session', function(req, res)
{
    if (req.session.logged)
    { res.send('logged'); }
    else
    { req.session.logged = true;
    res.send('log'); }
});

----解决书中路由控制的代码问题----
在app.js中添加:
app.use(app.router); // 这个保持不变。
routes(app); // 在app.configure之后添加(其实这样很弱智)。
在routes/index.js中添加:
module.exports = function(app) {
  ...
};

后来还遇到很多问题,我真的看不下去了,还不如直接看Express 3.x的官方examples,链接在这里:https://github.com/visionmedia/express/tree/master/example,我的建议是如果你想用Express 3.x,就不要看这本书,如果你想看这本书,就用Express 2.x。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“解决书中Express版本低导致的一些问题”的回应

清风乱醉 2013-03-18 10:41:40

程序基本结构并没有改动,就是Express的接口有部分修改了。
如果程序中遇到没有的接口,可以看看 Express Migrating from 2.x to 3.x:
https://github.com/visionmedia/express/wiki/Migrating-from-2.x-to-3.x

注意Removed的部分,其中的一些也给出了解决办法。比如从Express的框架移到MiddleWare中了。