私は、開発者が外部モジュールに子テンプレートを実装できるフレームワークに取り組んでいます。後でそのテンプレートを親テンプレートに含めたいと思います。
基本的なテンプレート スキーマは次のとおりです。
─ ミッション (親テンプレート)
├─ 成功したミッション (子テンプレート)
├─ 失敗したミッション (子テンプレート)
└─ プレイ ミッション (子テンプレート)
親テンプレートは誰にとっても同じです。子テンプレートは貢献者によって実装され、常に別の瞬間 (ミッション状態) に表示されます。
1 つのテンプレート ファイルで 2 つのアプローチを試します。
「ブロック」パターンを実装します。
block mission_play
h2 Hello world!
p Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
block mission_succeed
h2 Congratulations!
p You won buddy!
block mission_failed
h2 Oh my gosh, dude, you did something realy bad
p You should try again
ディレクティブがないため、これは機能しませんextend layout
(すべての子テンプレートが外部モジュールであるため使用できません)。どのテンプレートを拡張するかを手動で jade に示す方法はありますか?
mixin ですべての子テンプレートを実装します。
mixin mission_introduction(mission)
h2 Hello world!
p Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
mixin mission_succeed(mission)
h2 Congratulations!
p You win buddy!
mixin mission_failed(mission)
h2 Oh my gosh dude, you did something realy bad
p You should try again
そのテンプレートをその親に含めるつもりでしたが、ジェイドはインクルードのパスでの式の使用を許可していません。そのため、親の jade テンプレートで jade コードを直接解釈しようとしましたが、その方法がわかりませんでした。partial
関数に含めようとしましたが、Express でデフォルトのビュー継承戦略を無効にせずにそのモジュールを使用できます。
どこが間違っているのでしょうか?建築の王様にとって最善の戦略は何ですか?
乾杯 !