私はejs-localsを使用して、express/node.jsのパーシャルをサポートしています。
問題は、パーシャル内にパーシャルを含めるとライブラリにバグがあることです。2番目のパーシャルインクルードは、1番目のパーシャルを呼び出した祖父母またはpage.ejsに関連するファイルを見つけようとしています。
したがって、これには、すべてのファイルが./views(サブディレクトリなし)のみになるように./viewsをフラット化するか、最初の部分呼び出しを行ったディレクトリからパーシャルにシンボリックリンクする必要があります。
おそらく、これを行う別の/より良い方法がありますか?
私の多くの見解では、私はフェイスマッシュを持っています。それは私に人々のアバターでhtmlを与えます。<% include faces %>
人々の集まりは、それが呼び出されたページに応じて多くの異なるオブジェクトから来ているので、私はそれを1日だけ使用して呼び出すことはできません。
次に例を示します。
アイテムページで、私は<% include stats %>
、顔を部分的に呼び出すと呼びます
<- partial('faces', { people: item.users }) %>
またはリストページで、私は<% include stats %>
、顔を部分的に呼び出すと呼びます
<- partial('faces' { people: list.users }) %>
部分的な「faces.ejs」は、人々をループし、彼らのプロファイルへのリンクを吐き出します。しかし、パーシャルをパーシャルに含めることができないため、あちこちでシンボリックリンクするか、別のことを試みて行き詰まっています。
./views/list/index.ejsは、faces.ejspartialを呼び出すstats.ejspartialを呼び出します...したがって、。/ views / list/faces.ejsを./views/stats/faces.ejsにシンボリックリンクする必要があります働くために。
単純なインクルードにデータを渡すことはできないため、呼び出されたコンテキストに応じて、さまざまなユーザーのコレクションを渡すことはできません。
<% include faces %>
faces.ejsにハードコードされたitem.usersまたはlist.usersのいずれかでface.ejsループが必要になります
ネストされたパーシャル/インクルードで機能する他に何ができますか?私はejs-localsにバグを報告しましたが、他にもいくつかのバグがありましたが、修正なしで1か月になりました。