1

テンプレートエンジンとしてexpress+consolidate + mustacheを使用していますが、明示的に定義していない一致するファイル名でパーシャルを自動的にロードするようにexpressを教える方法があるかどうか疑問に思いました。

例:

head.html:
---
<!DOCTYPE html>
<html><head><title></title></head><body>


index.html:
---
{{> head}}
{{content}}
{{> foot}}


foot.html:
---
</body></html>


app.js:
---
app.get('/', function(req, res) {
    res.render('index.html', {
        partials: {
            head: 'head', 
            foot: 'foot'
        }
    });
});

ご覧のとおり、headおよびfootパーシャルは、対応するファイル名(マイナス.html)とまったく同じ名前が付けられています。そうすることで問題なく動作しますが、一致するファイル名がある場合に、express/mustacheがパーシャルを自動的にロードできるようにする簡単な方法を探しています。すべての関数でデフォルトのパーシャルを再度指定する必要はありません。{{> example}}->存在するかどうかを調べ、partialsオブジェクトで定義されていないviews/example.html場合はロードします)。example

それは可能ですか?

または、デフォルトのパーシャルをグローバルに定義する簡単な方法は少なくともありますか?

4

1 に答える 1

1

これはまだ統合では不可能です。まったく同じ問題 (hogan/consolidate に毎回ロードするように指示しなくても、パーシャルを名前で呼び出すことができる) があり、適切なモジュールが見つからなかったため、独自のモジュールを作成しました。数週間: h4e ("Hogan for Express")。これにより、すべてのパーシャルが自動的に読み込まれ、必要に応じてレイアウトを使用することもできます。

あなたのニーズに答えるべきだと思います。ルイ

于 2013-01-04T10:07:47.287 に答える