2

ブラウザーでコンパイル済みの jade テンプレートを使用することを検討しています。翡翠のREADMEには次のように書かれています:

Jade の ./runtime.js を使用することで、Jade 自体を使用せずにこれらの事前コンパイル済みテンプレートをクライアント側で利用できます。必要なのは関連するユーティリティ関数 (runtime.js 内) だけであり、その後 jade.attrs として利用できます。 、jade.escape など。これを有効にするには、{ client: true } を jade.compile() に渡して、jade.attrs、jade.escape などを介してヘルパー関数を参照するよう Jade に指示する必要があります。

runtime.js メソッドを使用する例は見つかりませんでした。テンプレートを個々の js ファイルにコンパイルしましたが、どのように使用すればよいですか? 私が今持っているのは、anonymous と呼ばれる複数の関数と、使用方法がわからない jade オブジェクトだけです。

4

1 に答える 1

3

コンパイル済みの jade テンプレート関数をクライアント側で使用する場合は、runtime.js をページに含める必要があります。

runtime.js は、コンパイルされた jade テンプレート関数が html をレンダリングするために使用するヘルパー関数を提供します。これはjade、テンプレートが使用するいくつかのメソッド (例: jade.escape) を持つウィンドウに変数をアタッチすることによって行われます。

例えば:

<script src='runtime.js'> // from jade repository
<script src='template.js'> // compiled by jade cli
<script>$('body').append(anonymous({local:'value'))</script> // works!

これにより、レンダリングされた html が本文に正常に追加されます。でも...

<script src='template.js'> // compiled by jade cli
<script>$('body').append(anonymous({local:'value'))</script> // fails...

これは通常、 で失敗しUncaught ReferenceError: jade is not definedます。

一般に、関数の名前を 以外に変更する必要がありますanonymous

于 2013-09-12T17:12:44.610 に答える