Expressjs-templating
ExpressJS-テンプレート
PugはExpressのテンプレートエンジンです。 テンプレートエンジンは、サーバーコードがHTMLで乱雑になるのを防ぎ、文字列を既存のHTMLテンプレートに乱暴に連結するために使用されます。 Pugは非常に強力なテンプレートエンジンで、*フィルター、インクルード、継承、補間*などのさまざまな機能を備えています。 これには多くの根拠があります。
ExpressでPugを使用するには、インストールする必要があります。
Pugがインストールされたので、アプリのテンプレートエンジンとして設定します。 あなたはそれを「要求」する必要はありません。 次のコードを index.js ファイルに追加します。
次に、viewsという名前の新しいディレクトリを作成します。 その中に first_view.pug というファイルを作成し、その中に次のデータを入力します。
このページを実行するには、アプリに次のルートを追加します-
出力は-* Hello World!として取得されます。Pugは、この非常にシンプルなマークアップをHTMLに変換します。 タグを閉じるのを追跡する必要はありません。クラスやidキーワードを使用する必要はなく、「。」を使用しますおよび *'#' で定義します。 上記のコードは最初に変換されます-
Pugは、HTMLマークアップを単純化するだけではありません。
パグの重要な機能
Pugのいくつかの重要な機能を調べてみましょう。
シンプルなタグ
タグは、インデントに従ってネストされます。 上記の例のように、 <title> は <head> タグ内でインデントされているため、その中にありました。 ただし、 <body> タグは同じインデントにあるため、 <head> タグの兄弟でした。
タグを閉じる必要はありません。パグが同じまたは外側のインデントレベルで次のタグを検出するとすぐに、タグを閉じます。
タグ内にテキストを配置するには、3つの方法があります-
- スペース区切り
- 配管されたテキスト
- テキストのブロック
コメント
Pugは、コメントの作成に* JavaScript(//)*と同じ構文を使用します。 これらのコメントは、HTMLコメント(<!-comment→)に変換されます。 例えば、
このコメントは次のように変換されます。
属性
属性を定義するには、属性のカンマ区切りリストを括弧で囲んで使用します。 クラスおよびID属性には特別な表現があります。 次のコード行は、特定のhtmlタグの属性、クラス、およびIDの定義をカバーしています。
このコード行は、次のように変換されます。 −
テンプレートに値を渡す
Pugテンプレートをレンダリングするとき、実際にルートハンドラーから値を渡すことができ、テンプレートで使用できます。 次を使用して新しいルートハンドラを作成します。
そして、次のコードを使用して、 dynamic.pug と呼ばれるビューディレクトリに新しいビューファイルを作成します-
ブラウザでlocalhost:3000/dynamic_viewを開きます。あなたは次の出力を取得する必要があります-
これらの渡された変数をテキスト内で使用することもできます。 タグのテキスト間に渡された変数を挿入するには、*#\ {variableName} *構文を使用します。 たとえば、上の例で、finddevguidesからの挨拶を入れたい場合は、次のようにすることができます。
値を使用するこの方法は*補間*と呼ばれます。 上記のコードは、次の出力を表示します。 −
条件付き
条件ステートメントとループ構造も使用できます。
以下を考慮してください-
ユーザーがログインしている場合、ページには "Hi、User" が表示され、そうでない場合は "Login/Sign Up" リンクが表示されます。 これを達成するために、次のような単純なテンプレートを定義できます-
ルートを使用してこれをレンダリングするとき、次のプログラムのようにオブジェクトを渡すことができます-
メッセージが表示されます-*こんにちは、Ayush *。 ただし、オブジェクトを渡さない場合、またはユーザーキーのないオブジェクトを渡さない場合は、サインアップリンクを取得します。
含めるとコンポーネント
Pugは、Webページのコンポーネントを作成する非常に直感的な方法を提供します。 たとえば、ニュースWebサイトが表示された場合、ロゴとカテゴリのヘッダーは常に修正されます。 これを作成するすべてのビューにコピーする代わりに、 include 機能を使用できます。 次の例は、この機能を使用する方法を示しています-
次のコードで3つのビューを作成します-
次のようにこのためのルートを作成します-
localhost:3000/componentsに移動すると、次の出力が表示されます-
Pugにはさらに多くの機能があります。 しかし、これらはこのチュートリアルの範囲外です。 パグについては、http://jade-lang.com [Pug]でさらに詳しく調べることができます。