NodeJS - Express4.0錯誤:Cannot read property 'Store' of undefined

來源:互聯網
上載者:User


Express在使用mongodb的時候app配置出錯

//settings.js

module.exports={

cookieSecret:"xxxx",

db:"dbname",

host:"localhost",

}


//app.js

var express = require("express");

var settings = require("./settings");


載入connect-mongo的出錯寫法:

var MongoStore=require("connect-mongo")(express);

app.use(express.session({
secret:Settings.cookieSecret,
key:Settings.db,
cookie:{maxAge:1000*60*60*24*30},//30 days
store:new MongoStore({
db:Settings.db
})
}));

啟動後報錯:TypeError: Cannot read property 'Store' of undefined

以上是 express<4的寫法


express 4.0之後(包括4.0)寫法如下:

var session = require("express-session");

var MongoStore=require("connect-mongo")(session);

app.use(session({

secret:settings.cookieSecret,

store:new MongoStore({

db:settings.db

})

});


package.json配置如下

{
"name": "dbTest",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"express": "~4.2.0",
"static-favicon": "~1.0.0",
"morgan": "~1.0.0",
"cookie-parser": "~1.0.1",
"body-parser": "~1.0.0",
"debug": "~0.7.4",
"ejs": "~0.8.5",
"mongodb":"*",
"connect-mongo":"*",
"express-session":"*"
}
}

//如果目錄下沒有執行過npm install請在增加mongodb,connect-mongo,express-session之後在package.json目錄下執行一下npm install

以上是express中對mongodb的配置,如果你本地沒有裝mongodb的資料庫請到http://www.mongodb.org/downloads下載安裝。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.