我试图包含一个html文件,无论是.ejs还是.html,但都是动态的。
例如,在一个非常简单的情况下,我想调用一个文件,或者说, ./views/nextdirectory/loggedin.ejs
<div class="loggedin">Hi <%= user.name %></div>
或./views/nextdirextory/loggedout.ejs
<ul class="nav">
<li><a href="login">Log In</a></li>
<li><a href="signup">Sign Up</a></li>
</ul>
-
在我的web.js文件中,我检查用户是否已登录并设置一个名为loggedInOrNot的变量,该变量包含./nextdirectory/loggedin.ejs或./nextdirectory/loggedout.ejs并在page.ejs文件中调用loggedInOrNot
我知道我可以使用如here所示的include语句,但是,我无法在include语句中使用动态创建的变量。
更新:
所以答案就在这里。在发布我的问题之前没有看到这个,虽然我认为它更像是一个黑客或修复而不是一个适当的应用程序。当应用程序扩展时,不确定这可能如何工作:
Using interpolation within Node.js EJS includes
更新:
实际上这不起作用。 HTML标记显示但未呈现。
更新:
所以我终于开始工作了。只是一个简单的错误。必须添加连字符,如下所示:
<%- loggedInOrNot %>