自転車、またはDjangoのようなJavascriptテンプレート

Shopium.uaプロジェクトのコンポーネントの1つは、クライアントリッチインターネットアプリケーション上で完全に実行されるように構築された管理インターフェイスです。

サーバーからのデータをHTMLで描画するには、Javascriptテンプレートエンジンが必要になることがよくあります。

Javascript用のさまざまなテンプレートエンジンがたくさんあります。 プロジェクトに使用するExtJSライブラリにも2つありますが、構文と機能は理想からはほど遠いものです。

あなたはすぐに良いものに慣れ、私たちはサーバーサイドHTMLの生成に使用するJinja2テンプレート構文にすぐに慣れます。 そして、彼らは同じことを望んでいましたが、真珠のボタンを使用していましたが、Javascript用でした。

そして、彼のためにそのような要件を形成しました:
  1. Django / Jinjaのような構文
  2. JSコードでテンプレートをコンパイルする(クロージャーテンプレートなど)
  3. HTML自動エスケープ
  4. シンプルさ(開発、使用、実装)

インターネットを検索し、そのようなものを見つけられなかった後、「はい、最終的には開発者であるかどうか」と叫び、独自に書きました。

テンプレートエンジンは、1つの実行可能ファイルで構成されています。 操作アルゴリズムは非常に簡単です。
  1. pyparsingを使用して、テンプレートのソースコード解析し、構文ツリーを構築します。
  2. ツリーを再帰的に実行し、Javascriptに変換します。

出力は、テンプレートコードを含む.jsファイルです。

その後、結果のファイルをプロジェクトに接続できます。

MITライセンスの下でのプロジェクトのソースコードは、 私のBitBucketリポジトリで入手できますテンプレートエンジンの使用の簡単なもあります。

現時点では、すべてのコードは非常に実験的であり、わずか1日で記述されています。 私たちの計画は、それを安定した状態にし、どこでも使用することです。

Source: https://habr.com/ru/post/J103409/


All Articles