2012-03-16 10 views
0

私はEJSをExpressビューエンジンとして使用していますが、変数を部分的に '公開'しようとしていますので、 'インクルード'する* .ejsで使用することはできますが、それをするために。EJSで部分的に定義された変数を使用するにはどうすればよいですか?

partial.ejs 
<% var jsUrl = 'sth'; %> 

test.ejs 
<script tpye="text/javascript" src="<%= jsUrl %>"></script> 

私はtest.ejsをレンダリングするとき、私はtest.ejs.likeことは何も渡しませんしたい:

res.render('test.ejs'); 

代わりに、私は部分的に定義された変数を使用したいです。 何か助けていただければ幸いです。

答えて

1

この場合は不可能だと思います。私のJUSTテンプレートエンジンを見てください。それはEJSと似た構文ですが、より強力です。 JUSTでは、親テンプレート内のブロックを再定義し、テンプレートの継承を行い、パーツ間でパラメータを渡すことができます。

+0

ありがとうございました。 app.set( 'view engine'、 'just')のようなものを直接JUSTで使うことはできますか?エクスプレスで?そしてそのパフォーマンスはどうですか? – Boris

+0

残念ながら私は急行を使用していません。私は[connect](https://github.com/senchalabs/connect)で直接作業しています。モジュールのセットでは、私のすべての要件を満たしています。私はapp.register関数を使って表現するためにJUSTを束縛できると思います。しかし、今私はこのためのソースコードを与える準備ができていません。 JUSTベンチマークは開発中です。同じテンプレートで、EJSのパフォーマンスはほぼ同じになるはずです。しかし、EJSでは存在しないため、すべての機能を比較することはできません。テンプレートは一度だけコンパイルされ、キャッシュされます。 –

+0

ありがとう、私はそれを試してみます。 – Boris

関連する問題