refs. Use a variable in a Jade include - stackoverflow
JADE does not support dynamic including.
私も試そうとした事があったのですが、こちらの回答によると、どうやら変数でのincludeはサポートされてないようです。nodeのアプリであれば、上記リンクで説明されている様に取得したものを渡してしまう方法でが良いかと思います。
コンパイルしてHTMLを作成するのであれば、見たところベースのテンプレートっぽいので各bodyのコンテンツ部分をjadeで作成するのであれば、コンテンツ側から共通のlayout.jade
のパスであれば変数を入れなくても良さそうですのでコンテンツ部分からベースのレイアウトをextends
させる方法もあります。
※extendsも変数使えません
javascript
1//- layout.jade ( /common/layout.jade )
2block Variable
3 - var bodyClass = ''
4<!DOCTYPE html>
5html(lang="ja")
6 head
7 include head
8 body(class= bodyClass)
9 block body
10 //- body
各コンテンツのjade
javascript
1//- content.jade ( /content/#{pageID}/content.jade )
2extends ../../common/layout
3block Variable
4 - var bodyClass = 'content'
5block body
6 //- bodyの内容を記述
7 //- 同階層にあるhtmlを読み込ませるだけであればココでincludeしてしまってもOK
話はズレてしまいますが、Gulp側からjadeに変数を渡す方法もあります。
こちらは手前味噌で恐縮ですが前にblogに書いていたので、興味があれば参考までにどうぞ
Gulp jadeコンパイル時に変数をGulpから渡したい - かもメモ
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/11 14:44