Flash - /路由无法加载

时间:2017-10-07 09:31:15

标签: javascript node.js

我正在尝试将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

但是,我的/路由无法加载。有什么建议我做错了吗?

感谢您的回复!

1 个答案:

答案 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)