4

レイアウトとパーシャルをサポートするテンプレートを作成する良い方法はありますか(これにより、翡翠ではなくhtmlを記述できます)?

この動作を実現するには、express-partialsnpmプラグインでejsを使用することしかできませんでした。ただし、ejsサイトは古く、十分にサポートされていないと感じています。

良い例を探しています。

たとえば、ヘッダーとフッターを持ち、ナビゲーション用に別のテンプレートを含めるメインレイアウトを作成したいと思います。

Knockoutjsは十分にサポートされているように見えますが、Expressで使用した例は多くありません。

更新:LinkedInによるjsテンプレートの評価からかなり良い記事を見つけました:http://engineering.linkedin.com/frontend/client-side-templating-throwdown-mustache-handlebars-dustjs-and-more

4

4 に答える 4

3

これは、EJS の「インクルード」機能を使用して簡単に模倣できます。Express 2.x のレイアウトほどエレガントではありませんが、必要なのはヘッダーとフッターだけで、Jade を使用する必要がない単純なシナリオでは機能します。

基本的に、2 つの「レイアウト」ページ (layoutTop.ejs と layoutBottom.ejs) を作成し、すべてのページに手動で含めることができます。

mypage.ejs

include layoutTop
html for my page.ejs goes here
include layoutBottom

(恥知らずなプラグ)ここでより詳細な説明を見ることができます: http://hectorcorrea.com/Blog/Using-layouts-with-EJS-in-Express-3.x

于 2012-09-18T12:58:21.483 に答える
1

レイアウト、インクルード、およびブロックには、visionmedia の ejs と ejs-locals を使用することにしました。

https://github.com/RandomEtc/ejs-locals https://github.com/visionmedia/ejs

于 2012-10-24T08:39:26.257 に答える
0

twigjs を試してみてください。それはあなたの説明によく合います。

https://github.com/fadrizul/twigjs

しかし、ejs はサポートされていない私を探しません。これも解決策だと思います。

于 2012-09-18T06:35:47.823 に答える
0

ハンドルバーを試してみてください。

ホットプレートと一緒に使用して、テンプレートを自動的に解決できます。

また、パーシャルのクライアント側の再利用もサポートしています。

于 2012-09-18T15:30:20.223 に答える