在.ejs文件中获取当前页面?

我有简单的Node.js Web应用程序通过护照login/注册function。 在导航栏中,我有两个button:login和注册。 我想要做的是,当用户在注册页面上时,只显示导航栏中的loginbutton,当用户在login页面上时,只显示导航栏中的注册button。 我怎么能在我的头ejs文件中实现这个?

我试过这个:

<% if (document.URL.contains("login")) { %> <li><a href="/login">Sign In</a></li> <% } else { %> <li><a href="/register">Sign Up</a></li> <% } %> 

问题是,文件variables没有在我的ejs当地人定义…我不认为我可以定义为本地? 至less当我尝试时,我得到一个错误,该文件没有定义…有道理,因为这是在app.js文件中完成。

我怎样才能实现这个function?

谢谢!

当你渲染你的ejs文件时,提供一个带有标题的json对象。

以下内容将包含在您的快速路线中:

 app.route('/login') .get((req, res) => { res.render('loginTemplateEjs', { title: 'login'}); }); 

然后在你的ejs代码中:

 <% if (title == "login" { %> <li><a href="/login">Sign In</a></li> <% } else { %> <li><a href="/register">Sign Up</a></li> <% } %>