記事内に商品プロモーションを含む場合があります
includeってどう書くの?
このような疑問に答える記事です。
前回までで、webpackを使って「どのようにpug化するか」「pugの書き方」について理解できたかと思います。
前回の記事を読んでいない方は、こちら↓

では、今回はpug化の大きなメリットである、includeさせる方法について解説していきます。
共通パーツ部分を各ファイルに記述
まず、includeする前に、各ページファイルに共通パーツ部分を書きます。
(今回は「headerナビ」を書きますね)
その前に、全体像が分かるよう、現在の階層構造を記載します。
それぞれのファイルにheaderタグを記述します。
index.pug
menu.pug
webpack起動後、ブラウザで確認
これらをwebpackを起動し、ファイル出力後、ブラウザ確認すると以下のようになります。


各ファイルにheaderを追加したので、ごく自然な出力結果かと思います。
個別ファイル対応の問題点
ただし、これが片方のファイル(例えば、index.pug)だけ、headerタグの中身を変更したら、両者に差異が出てしまいます。
この状態だと、サイトとして使い勝手が悪くなってしまいますよね。
includeのメリット
このような時にincludeが役立ちます。
headerタグ部分を共通パーツとして使用(include)すれば、1ファイル変更するだけで、それを読み込んでいる全ページに変更が反映されます。
共通部分は、includeさせればコーディングを効率化できる
では、具体的にどのように記述するかを見ていきましょう。
includeさせよう!
【手順1】includeファイルを作成する
読み込ませたいファイルを作成します。
_headerNav.pug
【手順2】読込み記述を各ファイルに追加する
次にincludeファイルを読み込ませる記述を書きます。
index.pug
menu.pug
これで準備完了です。
webpackを起動
下記コマンドでwebpackを起動します。
ブラウザで確認する


さっきと表示は変わらず、表示されているのを確認できました。
(読み込み方法が違うだけなので、これでOKです)
【おまけ】試しにincludeファイルを変更してみると…
これだけだと、本当にincludeファイルが機能しているかが不明瞭なので、_headerNav.pugを変更してみましょう。
_headerNav.pug
以下のように、変更します。
これで両ページのheaderナビが変更されていればOKですね。
webpackを起動後、ブラウザで再度確認
webpackを起動し、ブラウザで確認してみると・・・


無事に両ページ反映されました。
まとめ
本記事では、「pugファイルをincludeしてコーディングを効率化しよう」と題して、以下のことを解説しました。
- 共通パーツ部分を各ファイルに記述
- 個別ファイル対応の問題点
- includeのメリット
- includeさせよう!
- webpackを起動
- ブラウザで確認する
- 【おまけ】試しにincludeファイルを変更してみると…
include機能は、pug化の大きなメリットです。
共通化可能なところは積極的に使っていくと良いでしょう。
次回はテンプレート継承についてみていきます。