在车把的默认布局中注入值

时间:2019-07-24 11:58:26

标签: node.js express passport.js

如果用户已登录,我试图在主模板中显示用户名,否则请尝试输入其他文本

这是我要显示用户名的主模板的一部分

<a class="nav-link nav-link-white dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">

                        {{username}}

                        <i class="fas fa-chevron-down ml-2"></i>
                    </a>

这是我的主文件中server.js的一部分,我在其中创建了帮助程序

        var handlebars = exphbs.create({
        extname: '.hbs',
        defaultLayout: "main",
        layoutsDir: path.join(__dirname, "app/views"),
        helpers: {

            }
        }
    });

这是检查用户是否已登录的中间件

function isLoggedIn(req, res, next) {
    if (req.isAuthenticated())
        return next();

    res.redirect('/');
}

这是用户模块

    module.exports = function (sequelize, Sequelize) {

        var User = sequelize.define('user', {
            id: { autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER },
            firstname: { type: Sequelize.STRING, notEmpty: true },
            lastname: { type: Sequelize.STRING, notEmpty: true },
            mobileno: { type: Sequelize.STRING },
            email: { type: Sequelize.STRING, validate: { isEmail: true } },
            password: { type: Sequelize.STRING, allowNull: false },
            last_login: { type: Sequelize.DATE }
             }

        });

        return User;

}

现在我将如何检查用户是否已登录以及用户是否已登录,然后显示用户名,否则显示一些其他文本。 我尝试在主文件中显示其他文本及其工作原理,但是如果用户已登录,如何获取用户的名字。

0 个答案:

没有答案