問題タブ [client-side-templating]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
handlebars.js - handlebars.js は改行文字を に置き換えます
か?
テンプレートに handlebars.js を使用しようとしていますが、ライブラリは改行を無視しているようです。
改行を処理する正しい方法は何ですか? テンプレート操作後に手動で置き換える必要がありますか?
mustache - クライアント側テンプレートの利点は何ですか (口ひげのようなもの)
動的ページの HTML を手動で生成する JavaScript コード (醜いだけでなく、DRY ではない) を作成することを避け、(パフォーマンスとは対照的に) シンプルさと優雅さを念頭に置くために、文字列ベースを使用する利点は何ですか?サーバー側でレンダリングされた html を取得する REST API を使用するよりも、Mustache.js や Handlebars.js などのクライアントのテンプレートを使用して、json データとテンプレートを個別に取得しますか?
私は、クライアント側のテンプレート化が動的なページでシンプルに保つための最良のアプローチであるという印象を受けましたが、少し使ってみると、そのようなページを維持するのはやや複雑であることがわかりました。その主な利点は、パフォーマンスとパフォーマンスの向上です。通常、これは私の主な目標ではありません。
javascript - ajax リクエストを使用して、クライアント側の JavaScript テンプレートに画像ソースの URL を入力する
クライアント側のテンプレート ライブラリ Dust.js を使用しようとしています。「img」タグの「src」属性(コード中の{profile.picUrl})に、Ajax(Json形式)でサーバーから取得した値を入力したい。
問題は、Ajax 呼び出しが行われる前に、ブラウザーが画像を読み込もうとして HTTP 404 応答が返されることです (「src」にはテンプレート プレースホルダーが含まれています)。サーバーへの 404 リクエストなしでこれを行う方法はありますか?
問題を再現するサンプルを次に示します。
PS: 中括弧 ({profile.user}) 内の名前は、dust.js 構文のテンプレートに値を入力するために使用されます
javascript - javascriptテンプレートのプリコンパイル
読んだ後Mustache.jsとHandlebars.jsの違いは何ですか?私は質問に戸惑いました:
javascriptテンプレートのプリコンパイルとはどういう意味ですか?
以前は、単純なクライアント側のキャッシュを使用していました。これは次のように機能していました。
これは私のテクニックと根本的にどう違うのですか?
javascript - ハンドルバー - ブロックの変更されていないコンテンツを取得します
ハンドルバーのブロックの変更されていない/レンダリングされていない/どんな内容でも取得したいと思います。だから、私は次のものを持っているとしましょう:
「テンプレート」というヘルパーがある場合、「コンパイル済み」のテンプレート ブロックではなく、元のコンテンツ ブロックを参照できるようにしたいと考えています。だから、 「レンダリング」され<tr><td>{{name}}</td><td>{{price}}</td></tr>
ずに{{name}}
文字列を取得できるようにしたいと思います。{{price}}
現在、私がアクセスできるのは「this.options.fn」だけのようです。これは、コンパイル済みのテンプレートの一部のようです。
これを達成する方法はありますか?これまでのところ、コンパイルされたコンテンツへの参照しかありません。
注 - 「文字通りこれを印刷したい」と言う方法さえあれば、それも問題なく機能します。たとえば、Smarty の {literal} は、{/literal} まですべてを無視します。
node.js - クライアント側のテンプレートとして Dustjs-linkedin を使用する方法は?
サーバー側とクライアント側のテンプレート化については理解できましたが、dust.js には少し戸惑いました。
クライアント側のテンプレート作成に Dust.js を使用するには、次の 3 つの手順が必要です。
- テンプレートに準拠する
- テンプレートを読み込む
- テンプレートをレンダリングする
右?
しかし、テンプレートはどこから来たのでしょうか? 私は2つの異なる方法を見ました:
...どちらもDOMにあります。どちらが正しい?
また、ajax を介してテンプレートを読み込むことができるため、テンプレートが DOM に表示されないことにも気付きましたが、その方法はわかりません。
また、私は現在 jade をエクスプレス ビュー エンジンとして使用しています。Dust.js に切り替える必要はありますか? 利点は何ですか?
html - クライアント側のテンプレートにスクリプトタグを使用しているのに、src属性を介してロードできないのはなぜですか?
これは正常に機能します(IDによってdomのスニペットにアクセスできます)
しかし、テンプレートを外部リソースに配置すると、domで見つけることができません。
クロムは私に無関係だと思う警告を与えています:
私はファイルシステムから、および/またはから実行していますpython -m SimpleHTTPServer
。何か案は?
http - ヘッダー付きのアセットを提供するための開発サーバー
次のように使用できるテンプレート アセットを提供しようとしています。
つまり、スクリプトの種類に合わせてアセットにヘッダーを設定する必要があります。
ファイルシステムから何らかの開発アプリケーションサーバーを使用してこれを行う方法はありますか? 私は、フロントエンドの人々が実際のバックエンドに対して実行することなく作業できるようにするワークフローを構築しようとしています。
python -m SimpleHTTPServer
特定の拡張機能のヘッダーを構成できることを除いて、単純なものがあれば素晴らしいでしょう。自分でコーディングするのは簡単ですが、予期しない問題がさらに発生する可能性があるため、既存のソリューションを使用することをお勧めします。
javascript - クライアント側とサーバー側と django バックエンドのハイブリッド テンプレート
Django テンプレートの代わりに、口ひげやハンドルバーなどのより一般的なテンプレート エンジンに変換する価値があるかどうか疑問に思っています。私が自分で見るオプションは次のとおりです。
- Django テンプレートを使用する (サーバー側のみ)
- ムスタッシュ/ハンドルバーなどに完全に変換
- ハイブリッド アプローチを使用する: 口ひげ/ハンドルバー、および該当する場合は Django テンプレートの使用 (最も醜いオプション?)
Mustache/Handlebars like システムへの変換により、クライアント側とサーバー側で同じテンプレートを使用する柔軟性が得られますが、Django のテンプレート システム (テンプレートの継承など) によって提供される特定の利点が失われます。
サーバー側のテンプレートだけでなく、クライアント側のテンプレートにも賛否両論があることを私は知っています。ビジーなサーバーで HTML をレンダリングすると遅くなる可能性があると主張する人もいれば、ブラウザーで JSON から HTML をレンダリングするとクライアントが遅くなる可能性があると主張する人もいます。
また、JavaScript 非対応のデバイスでサーバー側の HTML レンダリングを使用することについての議論も認識していますが、最近のほとんどのデバイスは JavaScript をサポートしています。
Django テンプレート システムから口ひげ/ハンドルバーなどに変換する本当の明確な理由はありますか?
ありがとう。
clojure - ClojureScriptでのテンプレート
ClojureScriptを使用して「シングルページ」スタイルのWebアプリを作成したいと思います。そのためには、クライアント側のテンプレートシステムが必要です。誰かが私が調べるべきClojureScriptテンプレートシステムに関する経験や推奨事項を持っていますか?ありがとう。