問題タブ [google-closure]
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.
javascript - Javascript コミュニティには依存関係の取得 (maven や gem など) がありますか?
Java には、さまざまなパブリック リポジトリから依存する jar を取得するためのmavenまたはivyがあります。
Ruby には、gem と bundle というさらに優れた依存関係検索ツールがあります。
Javascript コミュニティには同等のツールがありますか? 依存関係をブラウザーに動的にロードすることを管理するためのツールをいくつか見つけました。私はそれらのツールを探していません。
具体的には、新しい開発者が必要な JavaScript ファイルを取得するために使用するツールを探しています。開発者はこのツールを実行し、次のことを行います。
- プロジェクトの依存関係記述ファイルを調べます
- プロジェクトに jquery-ui-1.8.7、tiny_mce-3.4.3.2、prettyLoader-1.0.1 が必要であることを発見
- Web から jquery-ui-1.8.7.min.js、prettyLoader-1.0.1.js、tiny_mce-3.4.3.2 を取得します
- .js と .css をローカル リポジトリにインストールします。
- jquery-ui が jquery-1.6.1 に依存していることを認識し、jquery をダウンロード/インストールします。
- tiny_mce に jquery プラグインが必要であると判断し、ダウンロードしてインストールします。
これで、開発者は必要なすべての js/css ファイルのローカル コピーを取得できます。
新しい tiny_mce または jquery が出てくると、プロジェクト ファイルが更新され、開発者はツールを返すだけで、すべての新しいファイルを取得できます。
js ライブラリのバージョンが指定されていない場合は、最新のリリース バージョンが取得されます。
私が今説明したことは、maven/ivy/gem が java/ruby 空間で行うことです。
もちろん、Maven を使用して自分のニーズに合わせて何かを装備することもできますが、JavaScript コミュニティには既に何かが用意されていますか?
アップデート:
npmは Raynos によって言及されました。Npm は node.js を中心にしています (これは問題ありません)。ただし、パブリック リポジトリで公開されているライブラリとメタデータは限られています (バージョン、作成者、プロジェクトの URL が簡単に検出されません)。
ただし、今日は npm が解決策のようです。残念ながら、それだけでは十分ではありませんが、それが人生です。
jquery や google-closure にプロジェクト管理ツールがないことに、私はかなり驚いています。(間違っていたら教えて!)
更新: 現在、meteorは meteorite と一緒に来て、大気ライブラリにアクセスして更新します。すごいすごさ。
javascript - jQueryでのGoogleクロージャーテンプレートの使用
JavaScriptとHTML5を使用してアプリケーションの作成を開始します。このアプリケーションは、REST APIを使用して、開発チームがすでに慣れているjQueryの素晴らしさと使いやすさを利用してサーバーリソースにアクセスします。このアプリケーションは多言語対応になります。後で、JavaScriptを使用してDOMを作成することを決定しました。これにより、UIビットを使用して他のアプリケーションと統合できる柔軟性が得られ、jQueryUIウィジェットを使用して独自のウィジェットを作成できます。次に、JavaScriptファイルを参照するスクリプトタグを他のアプリケーションの関連ページに追加するだけで、その特定の機能の統合のほとんどが完了します。
JavaScriptを使用してDOMを作成するには多くのコーディングが必要なため、UIを作成するためにHTMLをJavaScriptに簡単に変換するのに役立つツールを探し始めました。そのため、GoogleClosureTemplatesが登場しました。
現時点で私が考えていたのは、UI DOMビットを書き込むためにGoogleクロージャーを使用することでした。これにより、自分のDOMと他のJavaScript(つまり、サーバー側の通信や、一度取得したUIの変更などの他のUIロジック)にJavaScriptをすばやく取得できます。サーバーからの応答とxはzのようなものをクリックするとyに変わるはずです)手書きする必要があります、私は書きやすいjQueryを使うべきです。
しかし、この質問を見た後、私は両方が互いに比較されているのを見て、それは私にいくつかのことについて疑問を残しました。
そのとき考えていたことを実行すると、jQueryウィジェットでGoogle Closureによって生成された関数を呼び出してUIをレンダリングできますか?
jQueryを離れてGoogleClosureを使用するだけで、要件を満たすのに十分でしょうか?
Google Closureのドキュメントを読み始めたとき、独自のまったく新しい世界があり、学習曲線が関係していることがわかりました。これはいくらですか?それほど多くない場合は、5人の開発者からなるチームがそれを学ぶ準備ができています。
2と3では、すでにそれを使用したことがある人が何らかの洞察を提供できれば素晴らしいと思います。
注:-関連性がある場合に備えて、サーバー側のMicrosoft.NETスタックに取り組んでいます。
javascript - google-closure プロジェクトで依存関係のスクリプト タグを生成する最も簡単な方法は何ですか?
私は JavaScript と Google Closure を学んでいますが、明らかに (テンプレートやライブラリのさまざまな部分を使い始めると) 依存関係を手動で管理するのが難しくなります。
ライブラリがこれを支援するための Python スクリプトをいくつか提供していることは知っていますが、それらを使用する最良の方法がわかりません。
(最終的にはすべてを単一の「最小化された」ファイルにコンパイルすることはわかっていますが、開発と私自身の理解のために、最初にこのビットを理解する必要があると感じています!)
最も近いのは、「closurebuilder.py」スクリプトを使用して、ファイルのリストを依存関係順に生成することです...
...しかし、スクリプトタグでそれぞれを手動でラップし、html に貼り付ける必要があります。何か不足していますか?これを行うより簡単な方法はありますか?
javascript - ビルド後のGoogle Closure * .bat?
Google Closure online の *.bat または *.exe ツールをどのように準備するか [または共有できるコードを既に持っている場合] を考えていますか? JavaScriptのリストを含む* .batファイルを単純に実行しようとしています
Google Closure API に送信してから、このファイルのリストを圧縮するのはどれですか? 監視と更新が容易になりますか?
javascript - Googleのクロージャーライブラリの読み込みを高速化するにはどうすればよいですか?
[ libphonenumber ]に基づいた簡単な電話番号パーサーを書いています。残念ながら、「http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js」の読み込みには永遠に時間がかかります。ファイルを取得してsrc="base.js"として含めると、たくさんのエラーがポップアップします。
私の推測では、これはライブラリがまだロードされていないため、goog.require()ステートメントが失敗しているためだと思います。
私に何ができる?
javascript - 独自の JavaScript ライブラリを ClojureScript に追加するにはどうすればよいですか?
ClojureScript を使用して、Google Chrome 拡張機能を作成したいと考えています。ClojureScript を使用すると、すべての Google Closure ライブラリを使用できますが、Chrome ブラウザへのアクセスはそれらのライブラリに含まれていません。だから私はすべての Chrome のものを自分の JavaScript ライブラリにラップしたいと思っています。
これまでのところ、Foo オブジェクトを作成してコンストラクターをエクスポートするだけの単一の JavaScript ファイルを含む独自の jar を作成しようとしました。この jar を ClojureScript コンパイラの lib ディレクトリ (たとえば goog.jar もあります) に追加しましたが、今のところうまくいきません:
誰もこれを試したことがありますか?
javascript - Google Closure Templates は、個別のリソース ファイルを含む単一の JavaScript コード ベースではなく、言語ごとに複数の JavaScript ファイルを生成します。
JavaScript を使用してアプリケーションの UI を作成するために、Google Closure Template を使用しています。Google Closure Template を使用している理由の詳細については、この質問を参照してください。多言語化してほしい。--locales
スイッチがあることがわかり、プロジェクトで提供されているサンプルhereおよびhereも見ました。README_FOR_EXAMPLES ファイルには、次のように書かれています。
+ simple_generated_en.js、features_generated_en.js、
simple_generated_x-zz.js、features_generated_x-zz.js simple.soy および features.soy で SoyToJsSrcCompiler を実行したときに生成される JS ファイル (ロケールは「en」および「x-zz」)共有サンプル ディレクトリ 'examples' の翻訳済み XLIFF ファイルと、上記のコンパイル時のグローバル ファイル)。features.soy の一部のテンプレートは simple.soy のテンプレートを呼び出すため、simple.soy と features.soy の両方が必要です。注: これらのファイルを生成する Ant ターゲット (およびコマンド ライン引数) の例については、最上位の「build.xml」内のターゲット「js-features-example」を参照してください。
私が期待していたのは、テンプレート関数が呼び出される前に実行時に提供されるオプションに基づいて、適切なロケール ファイルから必要な文字列を使用する JavaScript コード ベースを 1 つだけ生成することでした。閉鎖テンプレートでそれは可能ですか?
nested - 別のテンプレート内にクロージャテンプレートをネストする
テンプレート内から別のテンプレートをレンダリングする方法があるはずなので、似たようなブロックをコピーして貼り付ける必要はありません。私はそれを理解することができません。
javascript - Google Closure - フォーム データから json オブジェクトへ
フォームデータから JSON を取得することはできますか? データマップまたは文字列表現のみを取得できます。
javascript - グーグルクロージャーのtypedefは実際に何をしますか?
私はそれが何のためにあるのかを理解しています-複合型のエイリアスを定義し、それをドキュメントで使用できることの利点を見ることができます。したがって、次のような型を定義できます...
...そしてそれを使用して、次のような関数を文書化します...
しかし、私がよくわからないのは、それがドキュメントとコンパイラの静的型チェックにのみ使用されている場合、typedefがJavaScriptのその行を必要とするのはなぜですか?エイリアスは、ドキュメントのコメントブロック内で完全に定義することはできませんか?また、コードを(コンパイルせずに)直接提供した場合、JavaScriptインタープリターはtypedefコメントの後のそのコード行をどのように処理しますか?