2017-05-29 70 views
0

我試圖用連接閃光燈顯示一個錯誤信息,但它似乎不工作。我已經嘗試了幾種方法來完成這項工作,但其中的任何一個都有效。我得到一個具有類似配置代碼的Web應用程序,並且沒有任何問題。節點 - 連接閃光燈不工作

這裏是我的代碼:

const express = require('express') 
const moment = require('moment') 
const morgan = require('morgan') 
const bodyParser = require('body-parser') 
const db = require('./configs/db') 
const flash = require('connect-flash') 
const session = require('express-session') 
const cookieParser = require('cookie-parser') 
const app = express() 

app.set('view engine', 'ejs') 
app.set('views', 'views') 
app.set(db) 
app.use(bodyParser.urlencoded({extended:true})) 
app.use(bodyParser.json()) 
app.use(morgan('dev')) 
app.use(cookieParser()) 
app.use(session({ 
    secret: 'keyboard cat', 
    resave: false, 
    saveUninitialized: true, 
    cookie: { secure: true } 
})) 
app.use(flash()); 
var sessionFlash = function(req, res, next) { 
    res.locals.currentUser = req.user; 
    res.locals.error = req.flash('error'); 
    res.locals.success = req.flash('success'); 
    next(); 

} 
app.use(sessionFlash) 




app.get('/', function (req, res) { 
    req.flash('error', 'Welcome'); 
    res.render('test', { 
    title: 'Home', 
    }) 
}); 
app.get('/addFlash', function (req, res) { 
    req.flash('error', 'Flash Message Added'); 
    res.redirect('/'); 
}); 

我EJS文件:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Test</title> 
    </head> 
    <body> 
    <% if(error){ %> 
     <div class=""> 
      <h1><%=error%></h1> 
     </div> 
    <% } %> 
    </body> 
</html> 

回答

0

我要去猜測,你沒有通過HTTPS提供您的服務器,在這種情況下,下面將防止設置會話cookie:

cookie: { secure: true } 

請參閱the documentation

+0

哦,非常感謝,夥計! –