自転車、または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日で記述されています。 私たちの計画は、それを安定した状態にし、どこでも使用することです。



All Articles