Я использую express вместе с express-flash-notification
для рендеринга сообщения fla sh. Проблема в том, что сообщение не отображается, когда оно отображает стандартное представление fla sh, которое в моем примере flash.hbs
. Ниже приведена конфигурация моего сервера
let express =require("express");
let exphbs = require("express-handlebars");
let flash = require("express-flash-notification");
let bodyParser = require("body-parser");
let path = require("path");
let session = require("express-session");
let app = express();
app.use(cookieParser());
app.use(session({
secret:"secret",
save:true,
saveUninitialized:true
}));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));
app.set("views","views");
app.set("view engine","hbs");
app.engine("hbs",exphbs({
extname:"hbs",
layoutsDir:path.join(__dirname,"views"),
defaultLayout:"template",
partialsDir:path.join(__dirname,"views/partials")
})) ;
app.use(flash(app));
// to register
app.get("/register",(req,res)=>{
res.render('register') // output the registration form
});
// handle registration request
app.post("/register",(req,res)=>{
req.flash("success","you are connected u can log in",false); // setting flash msg
res.redirect("/login")
});
//the login page after registration succeed
app.get("/login",(req,res)=>{
res.render("login");
});
let port = process.env.PORT || 5000;
app.listen(port,()=>{
console.log( `The server is running on port ${port}`);
});
My fla sh Просмотр файла flash.hbs
is
<div style="color:red" >NO LOCAL MESSAGE {{success}}</div>
Локальная переменная success не отображается, но текст перед ( НЕТ ЛОКАЛЬНОГО СООБЩЕНИЯ ) отображается ЧТО НЕПРАВИЛЬНО?
Примечание: все логи приложения c были удалены, чтобы облегчить понимание.