自転車、またはDjangoのようなJavascriptテンプレート
Shopium.uaプロジェクトのコンポーネントの1つは、クライアントリッチインターネットアプリケーション上で完全に実行されるように構築された管理インターフェイスです。
サーバーからのデータをHTMLで描画するには、Javascriptテンプレートエンジンが必要になることがよくあります。
Javascript用のさまざまなテンプレートエンジンがたくさんあります。 プロジェクトに使用するExtJSライブラリにも2つありますが、構文と機能は理想からはほど遠いものです。
あなたはすぐに良いものに慣れ、私たちはサーバーサイドHTMLの生成に使用するJinja2テンプレート構文にすぐに慣れます。 そして、彼らは同じことを望んでいました
が、真珠のボタンを使用していましたが、Javascript用でした。
そして、彼のためにそのような要件を形成しました:
- Django / Jinjaのような構文
- JSコードでテンプレートをコンパイルする(クロージャーテンプレートなど)
- HTML自動エスケープ
- シンプルさ(開発、使用、実装)
インターネットを検索し、そのようなものを見つけられなかった後、「はい、最終的には開発者であるかどうか」と叫び、独自に書きました。
テンプレートエンジンは、1つの実行可能ファイルで構成されています。 操作アルゴリズムは非常に簡単です。
- pyparsingを使用して、テンプレートのソースコードを解析し、構文ツリーを構築します。
- ツリーを再帰的に実行し、Javascriptに変換します。
出力は、テンプレートコードを含む.jsファイルです。
その後、結果のファイルをプロジェクトに接続できます。
MITライセンスの下でのプロジェクトのソースコードは、
私のBitBucketリポジトリで入手でき
ます 。
テンプレートエンジンの使用の簡単な
例もあります。
現時点では、すべてのコードは
非常に実験的であり、わずか1日で記述されています。 私たちの計画は、それを安定した状態にし、どこでも使用することです。
Source: https://habr.com/ru/post/J103409/
All Articles