問題タブ [google-closure-templates]

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.

0 投票する
3 に答える
4810 参照

javascript - PythonとJavascriptの両方のテンプレートシステム?

GoogleのSoyテンプレートの優れた機能は、クライアント(JS)とサーバー(Java)で同じテンプレートを使用できることです。

現在、JSにコンパイルされたSoyテンプレートを使用して、ほとんどのページをクライアント側でレンダリングする予定です。ただし、私のバックエンドは(Tornadoを使用して)Pythonで記述されているため、サーバー側で同じテンプレートを使用して電子メールや静的ページを簡単に生成することはできません。

サーバー側で別のJavaコンポーネントを使用してこれらの大豆テンプレートをレンダリングすることも、node.jsで機能させることもできます。これらのオプションはどちらも特にクリーンではないようです。

JSとPythonの両方で実行される優れたテンプレートエンジンはありますか?JSON-TemplateまたはTenjinで良い結果が得られた人はいますか?他のアイデアはありますか?

0 投票する
2 に答える
1775 参照

google-closure - Closure テンプレート内でオブジェクトを作成することは可能ですか?

Google Closure を使った作業を始めたばかりで、選択フィールドの作成を独自のテンプレートに移動し、そのテンプレートを次のように呼び出したいと思います。

templates.utils.selectテンプレートには、正しいオプションのプロパティを設定するロジックがありますselected。残念ながら、「すべてのコードが Soy V2 構文であるとは限りません (タグ {{param オプション: [ {名前: ... が見つかりました)」という例外が発生します。

options パラメーターを呼び出し元のテンプレートに渡すという回避策を使用できると思いますが、その場合、テンプレートに入るすべての方法がカバーされていることを確認する必要があり、非常に面倒です。

現時点では、私は一緒に行かなければならないと思います

これも面倒ですが、少なくともデータは 1 か所にあります。

より良い方法はありますか?

0 投票する
1 に答える
1175 参照

google-closure - Plovr で Closure テンプレート用の独自のカスタム関数を作成するにはどうすればよいですか

私はPlovrを使用しており、テンプレート内で独自のカスタム関数 (具体的にはucfirst関数) を使用したいと考えています。現時点では、テンプレートを JavaScript としてレンダリングすることにのみ関心があります。これはかなり単純なケースであるため、実際にコードを記述することはそれほど問題ではないと思います (出発点としてPlovr に含まれるカスタム関数を使用する)。 )。

問題は次のようになります: どのようにビルドして Plovr で使用するのですか?

0 投票する
1 に答える
474 参照

javascript - Java Web プロジェクトに CSS と JavaScript ファイルを含めるためのベスト プラクティスは何ですか?

最近、MVC に RestEasy を使用し、ビルド プロセスに Gradle を使用する新しい Google アプリ エンジン プロジェクトを開始しました。今、私は SASS、javascript、およびクロージャ テンプレート ファイルを含めたいところですが、どうすればよいかわかりません。理想的には、次の要件を満たしたいと考えています。

  1. ファイルは、独自のソース ディレクトリに存在する必要があります。例: src/main/javascript、src/main/sass。
  2. デプロイするときは、javascript ファイルを縮小する必要があります。
  3. 開発時には、クロージャ テンプレートと sass ファイルの変更を監視し、実行環境にホットスワップする必要があります。
  4. クロージャー テンプレートは、クライアントとサーバーからアクセスできる必要があります。(そうすれば、どちらの側でもレンダリングを行うことができます)

これらすべてを達成するための最良の方法は何だと思いますか? 御時間ありがとうございます。

0 投票する
2 に答える
894 参照

nested - 別のテンプレート内にクロージャテンプレートをネストする

テンプレート内から別のテンプレートをレンダリングする方法があるはずなので、似たようなブロックをコピーして貼り付ける必要はありません。私はそれを理解することができません。

0 投票する
1 に答える
8732 参照

google-closure-templates - クロージャーJavaScriptテンプレートでローカル変数を宣言する方法

クロージャーのjavascriptテンプレートライブラリを学び始めました。クロージャ テンプレート soy ファイル内にローカル変数を作成することは可能ですか? 使ってみた

$i=1ただし、宣言する代わりに画面に出力されます。

http://code.google.com/p/closure-templates/source/browse/trunk/examples/features.soyで例を調べまし たが、同じタイプの例は見つかりませんでした。

0 投票する
1 に答える
112 参照

google-closure-templates - 単一のテンプレート定義、Google クロージャー テンプレートを使用して、ファイル内のテンプレート定義が重複しているというエラーが発生する

JavaでGoogleクロージャーテンプレートを使用しています。SoyFileSet ビルダーを使用してテンプレートを単一の Java オブジェクトにコンパイルすると、次のエラーが発生します (Java オブジェクトにコンパイルするテンプレート ファイルが多数あります)。

com.google.template.soy.base.SoySyntaxException: テンプレート名 'namespace.qualifier.templateName' の 2 つの定義が見つかりました。どちらもファイル /templates/namespace/qualifier/TemplateName.soy にあります。

このエラーの問題は、問題のあるテンプレートについて、そのファイルで定義されているテンプレートが 1 つしかないことです。また、すべてのテンプレート ファイルを検索して、その名前のテンプレートがこれだけであることを確認しました。

誰でも私の問題が何であるか知っていますか?

0 投票する
3 に答える
259 参照

java - マップの種類を確認するには?

モデルのデータを次のように設定しています。

Spring を介して以下の関数にマップされます。

ここで、モデルが type かどうかを確認する必要があります。SoyMapDataそうであれば、モデルのタイプをSoyMapDataelse map に設定します。これどうやってするの?

以下のアプローチを試してみましたが、うまくいきません。

0 投票する
1 に答える
91 参照

java - 1 つのソースで複数のサイト / コード言語にまたがるナビゲーション

シナリオ: 複数の大規模な用地を持ち、多数の利害関係者と意思決定者を抱えているクライアントがいます。現時点では、それらすべてを含む再開発を除外しています。一部のサイトは php、一部は coldfusion、その他は ASP.NET です。これらのサイト全体をリンクするために使用される「TopHat」ナビゲーションを備えた新しいサイトを構築しています。Google と LinkedIn も同様のことを行っています (スクリーンショットを添付)。

質問: この UI 要素の一般的な用語はありますか? この要素をまとめて議論できるように、「トップハット」という用語を発明しました。

解決策: グーグルで調べているうちに、クロージャー テンプレートを見つけました: http://code.google.com/closure/templates/index.htmlクロージャー テンプレートは良いアプローチでしょうか? 私が読んだことから、コードにJavaScriptを含めるように各サイトの開発者に通知できます。アイデアやフィードバックをいただければ幸いです。

0 投票する
2 に答える
1184 参照

google-closure-compiler - Google Closureでsoyutilsを使用する正しい方法は何ですか?

Google ClosureでGoogleClosureテンプレート(Soy)を使用しようとしています。

soyutils_usegoog.js指示に従ってユーティリティファイルを含めています。このファイルは、生成されたテンプレートで使用される多くのユーティリティ、特にを提供しますsoy.StringBuilder。作成方法は次のとおりです。

soyutilsファイルにはgoog.string.StringBuffer上記の数行が必要ですが、非コンパイルモードで実行すると、 soyutilsが実行されるStringBufferまでに存在するJSファイルがロードされないため、ランタイムエラーが発生します。

私が間違っていない限り、ClosureのJSファイルは、「必要な」名前空間にすぐにアクセスするべきではありません。タグは、現在のスクリプトの実行後にのみ追加される<script>ため(非コンパイルモード)、すぐに使用するとランタイムエラーが発生します。

soyutils_usegoog.jsつまり、の早期アクセスによるランタイムエラーをトリガーせずにロードするにはどうすればよいですかgood.string.StringBuffer