0

HTML テンプレート (.tpl ファイル) を前もって ( でloadTemplates) 処理し、HeistConfig. これにより、Heist は事前に HTML をより効率的な形式に処理できます。

ただし、スプライスも事前に作成して の中に入れなければならない理由がわかりませんHeistConfig。これの利点は何ですか?とにかくスプライスは実行時に計算されるため、利点はわかりません。この背後にある思考プロセスは何ですか?

これは、スプライスが(実行時だけでなく)ロード時にもコードを実行できるためだと思います。これが主な説明ですか?

4

1 に答える 1

1

スプライス関数 (コンパイルおよび解釈) はノードで動作します。スプライスは の型シグネチャを持つと考えてくださいNode -> m [Node]。これは DOM レベルで動作するため、比較的コストのかかる操作です。スプライスの結果ノードは DOM ツリーに挿入され、ツリー全体を ByteString にレンダリングする必要があります。コンパイルされた強盗の背後にある考え方は、アプリケーションの初期化時に、このレンダリング作業を可能な限り前もって行うことでした。初期化の出力は、[Chunk]Chunk が静的 ByteString または動的m ByteString(実際の型はわずかに異なります) のいずれかになります。[Node]初期化によってテンプレート全体が からに変換される前に、コンパイルされたスプライスを処理する必要があります[Chunk]。また、アプリの初期化時に変換が行われるランタイム効率を最大化します。

詳細については、次のリンクを確認してください。

http://snapframework.com/docs/tutorials/compiled-splices

https://github.com/snapframework/heist/wiki/Compiled-Splice-Formulations

于 2016-08-28T17:45:54.200 に答える