我正在尝试将flash包添加到我的快递项目中。
在我的app.js文件中,我通过app.use
加载Flash:
const express = require("express")
const flash = require("flash")
const session = require("express-session")
const path = require("path")
const app = express()
app.set("views", path.join(__dirname, "views"))
app.set("view engine", "pug")
app.use(express.static(path.join(__dirname, "/../public"))) //public folder!
app.use(flash)
app.use(session({
key: 'user_sid',
secret: 'sessionSecret',
resave: true,
saveUninitialized: false,
}));
app.get('/', function (req, res) {
req.flash('success', { msg: 'Thank you! Your feedback has been submitted.' });
res.send('Hello World!')
})
const port = process.env.APP_PORT || 8080
const host = process.env.APP_HOST || "localhost"
app.listen(port, function () {
console.log("Listening on " + host + ":" + port)
})
我试图在我的视图中显示闪光灯,如下所示:
for msg in flash
a.alert(class='alert-' + message.type)
p= message.message
但是,我的/
路由无法加载。有什么建议我做错了吗?
感谢您的回复!
答案 0 :(得分:1)
根据“用法” - https://github.com/expressjs/flash的部分,正确的初始化将是
app.use(flash());
所以你必须在第10行添加括号,即
Container cont = new Container(c =>
{
if (useDefaultBar)
{
c.For<IBar>().Use<Bar>(Bar.Default);
}
else
{
c.For<IBar>().Use<Bar>();
}
});
(因为你已经完成了require-part,但仍然需要调用,而不是传递,flash)