学习使用express

来源:互联网 发布:做网络直播需要什么设备 编辑:程序博客网 时间:2024/05/01 19:02

根据推酷的一篇文章学习express,途中遇到下列的问题:
文章地址:http://www.tuicool.com/articles/jueARjE#c-25892
- 运行mongodb

E:\Program Files\MongoDB\Server\3.4\bin>mongod.exe --dbpath ../blog/
  • 依赖模块更新
    在不知道最新版本是多少的情况下可以用“*”或者“latest”代替版本号
    还有个插件npm-check(还没用过,查到的)
$ npm install -g npm-check     //安装$ npm-check -u                 //检查版本
  • Error: Connection strategy not found

    connect-mongo版本问题
    new MongoStore: { url: ‘your_db_url’}
    https://github.com/kcbanner/connect-mongo#create-a-new-connection-from-a-mongodb-connection-string

  • 启动报错express-session

Sun, 04 Jun 2017 13:56:30 GMT express-session deprecated undefined resave option; provide resave option at app.js:56:9Sun, 04 Jun 2017 13:56:30 GMT express-session deprecated undefined saveUninitialized option; provide saveUninitialized option at app.js:56:9

解决:
添加前两行配置

app.use(session({    resave:false,//添加这行      saveUninitialized: true,//添加这行       //防止篡改 cookie    secret: settings.cookieSecret,    //key 的值为 cookie 的名字    key: settings.db,    //设置 cookie 的 maxAge 值设定 cookie 的生存期 30天    cookie: {maxAge: 100*60*60*24*30},    // store 参数为 MongoStore 实例  把会话信息存储到数据库中,以避免丢失    store: new MongoStore({        /*db: settings.db,        host: settings.host,        port: settings.port,*/        url:'mongodb://localhost/'+settings.db    })}));
  • Error: req.flash() requires sessions
var session = require('express-session');var flash = require('connect-flash');//上面要引用这个插件var routes = require('./routes/index');app.use(session({...}));//flash依赖session模块app.use(flash());//这句话卸载session后面routes(app);//路由文件写在最后