0

.ejs か .html かに関係なく、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 ファイルで、ユーザーがログインしているかどうかを確認し、./nextdirectory/loggedin.ejs または ./nextdirectory/loggedout.ejs のいずれかを保持する LoggedInOrNot という変数を設定し、page.ejs ファイルで LoggedInOrNot を呼び出します。

ここに示すように include ステートメントを使用できることはわかっていますが、動的に作成された変数を include ステートメントで使用することはできません。

更新:
答えはここにあります。質問を投稿する前にこれを見ませんでしたが、適切なアプリケーションというよりもハックまたは修正だと思います。アプリケーションが拡張されたときにこれがどのように機能するかは不明です:
Node.js 内での補間の使用 EJS には次のものが含まれます

更新:
実際にはこれは機能しません。HTML マークアップが表示され、レンダリングされません。

更新:
だから私はついにそれを働かせました。単純な間違いです。以下に示すように、ハイフンを追加する必要がありました。

<%- loggedInOrNot %>
4

0 に答える 0