ハンドルバーを使ってエクスプレスjsにスタティックレイアウトページを作成する必要があります。レイアウトにはヘッダー(ユーザー名と会社のロゴを含む)とフッター(著作権情報を含む)が含まれます。したがって、レイアウトページはルート内のすべてのページに共通で、その本文コンテンツのみが動的に変更される必要があります。ヘッダーとフッターを部分的な表示としてレンダリングしようとしましたが、インデックスページにのみ表示され、それ以降のページには表示されません。エクスプレスjsアプリケーションのレイアウトページをデザインするようお勧めしますエクスプレスjsでレイアウトページをデザインするには?
-1
A
答えて
1
あなたは簡単にそれを行うことができます。 layout.hbsファイルを用意し、他のすべての部分を追加したい場所に{{{body}}}
と入力してください。代わりに(私はこの方法が好きです)、あなたはいくつかのエクストラとハンドルバーの少し拡張バージョンを使用することができます。
あなたはモジュールexpress-handlebars
をダウンロードして、サーバにそれを必要とし、その後、あなたは、このようなテンプレートエンジンのconfigを変更する必要がありますする必要があります。
var expressHbs = require('express-handlebars');
app.engine('.hbs', expressHbs({defaultLayout: 'layout', extname: '.hbs'}));
app.set('view engine', '.hbs');
そしてすぐ内側のフォルダ「レイアウト」と「パーシャル」を作成あなたのビューフォルダ。レイアウトフォルダ内に "layout.hbs"を作成します。これであなたのアプリはレイアウトページから実行されます。次に、この構文{{> partialName}}
を使用して、すべての部分文字列をレイアウトにまとめてください。あなたのパーシャルフォルダに置いた他のパーシャルすべて
エクスプレスjではこれはできませんか? –
EJSのような場合は、私はここにいますが、ハンドルバーには慣れていません – Adiii
よろしくお願いします。ありがとうございます –