【发布时间】:2021-07-18 16:58:20
【问题描述】:
我正在寻找有关我的 nodejs 项目的建议。 我为需要在其上显示一些用户数据的侧边栏制作了部分内容。这个侧边栏在我的项目的许多页面中多次使用。为了将用户数据发送到部分,我总是需要在渲染使用侧边栏的页面的每个函数中包含它。
我现在正在寻找更好的解决方案,让我将数据包含在一个位置,并且部分可以在使用侧边栏的每个页面上使用这些数据。
这种方法甚至可以使用 nodejs/express/ejs 组合,还是我正在寻找不可能的方法?
示例代码来说明我的问题:
部分(侧边栏):
<ul id="sidebarnav">
<% if(user) { %>
<li class="user-pro">
<ul aria-expanded="false" class="collapse">
<li><a href="/user/profile?id=<%= user.uuid %>"><i class="ti-user"></i> My Profile</a></li>
<li><a href="/auth/logout"><i class="fa fa-power-off"></i> Logout</a></li>
</ul>
</li>
<% } %>
<% if(user && user.permission.includes("ADMINISTRATION")) { %>
<li>
<a class="waves-effect waves-dark" href="/system/users" aria-expanded="false">
<i class="ti-user"></i>
<span class="hide-menu">Users</span>
</a>
</li>
<% } %>
</ul>
使用侧边栏部分的页面:
router.get("/", authMiddleware.checkAuth, (req, res) => {
res.render("app/index", {
user: req.session.user
});
});
router.get("/system/users", authMiddleware.checkAuth, (req, res) => {
res.render("app/system/users", {
user: req.session.user
});
});
【问题讨论】:
标签: javascript node.js express ejs