6

ClojureScriptを使用して「シングルページ」スタイルのWebアプリを作成したいと思います。そのためには、クライアント側のテンプレートシステムが必要です。誰かが私が調べるべきClojureScriptテンプレートシステムに関する経験や推奨事項を持っていますか?ありがとう。

4

6 に答える 6

5

Prismaticによって作成/使用されたテンプレートシステムであるdommyをご覧になるかもしれません。

于 2013-01-24T13:32:47.157 に答える
3

クレートが役立つことがわかりました。

于 2013-01-04T16:58:39.543 に答える
2

私は、Clojurescript の 3 つのテンプレート フレーバーを知っています。

  1. Dommy: cljs コードから直接 DOM ノードを作成して操作します。
  2. クレート: cljs データ (ベクター、マップなど) を宣言して操作し、DOM ノードに変換します。
  3. Enfocus : HTML ファイルに HTML を記述し、それらを処理して cljs から変換します。これはテンプレート化についての別の考え方であり、clj ライブラリ Enlive に基づいています。

通常の DOM ノードの代わりに React DOM ノードを生成するライブラリがありますが、上記と同じように機能します。

  1. Om や Reagent などの Cljs React ラッパー
  2. サブローノ
  3. キオー

あなたが求めているのはテンプレート化だけであり、React にはそれ以上のものがあることは承知していますが、最も基本的な操作以外に何か必要な場合は、React ベースのアプローチをお勧めします。

于 2014-12-12T20:51:43.493 に答える
2

Crate と Dommy の両方を使用した結果、どちらも非常に優れていると言えます。Crate は Clojure からの Hiccup の実装であり、テンプレート化のために Clojurescript に変換されているため、要素を選択するには引き続き Domina を使用する必要があります。DOM 選択とテンプレート化の両方を処理するフレームワークが必要な場合は、Dommy を使用してください

于 2013-06-16T16:59:34.957 に答える
1

これまで言及されていなかったので、ホプロンが大好きです。次の一連のツールが組み合わされています。

  • カスタム HTML 要素は通常の機能であり、 HLispで機能的に作成および構成できます。
  • Javelin ClojureScript ライブラリを使用したスプレッドシートのようなデータフロー。セルと数式を使用して、反応動作を直感的にモデル化します。
  • Castra Clojure および ClojureScript ライブラリを使用してサーバーと対話します。サーバーで関数を定義し、クライアントから呼び出します。

フルスタック ソリューションとして使用することも、クライアント側でのみ使用することもできます。印象を与えるには ( GitHubから取得):

(page "index.html")

(defn my-list [& items]
  (div
    :class "my-list"
    (apply ul (map #(li (div :class "my-list-item" %)) items))))

(def clicks (cell 0))

(html
  (head
    (title "example page"))
  (body
    (h1 "Hello, Hoplon")

    (my-list
      (span "first thing")
      (span "second thing"))

    (p (text "You've clicked ~{clicks} times, so far."))
    (button :click #(swap! clicks inc) "click me")))
于 2016-08-19T08:41:41.360 に答える
0

すでに受け取った回答に加えて、 OmReagentQuiescentなどのReactベースのシステムを確認することをお勧めします。3 つのうち、私の個人的なお気に入りは Reagent ですが、いずれも従来の DOM 操作の改善と言えます。

于 2014-12-13T11:39:08.583 に答える