問題タブ [google-closure-compiler]

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 に答える
4939 参照

jquery - Google クロージャー コンパイラの使用

重複の可能性:
Google Closure Compiler でコンパイルされた jQuery

私はjQueryを使用しており、すべてのJSコードをapplication.jsファイルに持っています。「application.js」を Google Closure コンパイラで (詳細オプションを使用して) コンパイルすると、エラーや警告のない js ファイルが得られます。ただし、ページでファイルを使用できません。ページの読み込み時に「TypeError: 式 '$("div.tile").d' [未定義] の結果は関数ではありません」というエラーが表示されます。

私の質問は、jQuery を使用する js ファイルをコンパイルできますか?

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

php - 配列値ごとに繰り返されるphpコードの記述を支援する

こんにちは私はClosureCompilerを使用していくつかのJavaScriptファイルを圧縮して結合しています。構文は次のようになります。

配列からさらにファイルを体系的に追加するにはどうすればよいですか?たとえば、$ file = array('JavaScriptA.js'、'JavaScriptB.js'、'JavaScriptC.js'、..)の各配列要素に対して、次のように実行されます。コード

よろしくお願いします!

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

jquery - jQuery 1.4.2はClosureCompilerと互換性がありますか?

公式リリースステートメントによると、バージョン1.4はクロージャーコンパイラーで圧縮されるように書き直されていますが、クロージャーコンパイラーのオンラインバージョンを使用する、 130の警告が表示されます。

これは私が使用するコードです。

また、私が知る限り、コードにライブラリを含めると、クロージャコンパイラの真のメリットが得られるため、未使用の関数が削除されます。それでも、私のテストでは、ライブラリ自体を圧縮する以外に何もできないことが示されています。

私は何が間違っているのですか?どんな種類の洞察も大歓迎です。

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

php - クロージャ コンパイラの実行での PHP エラー

php-closureを実行すると、PHP エラーが発生します

php-closure の 184 行目は

このエラーは、クロージャが圧縮された javascript ファイルをディレクトリに一度書き込んだ場合にのみ発生します。ディレクトリが空である場合、エラーは表示されません。このエラーは何を意味し、どうすれば回避できますか?

どうもありがとうございます!

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

javascript - クロスファイル JavaScript ライブラリ開発環境を簡単に維持するにはどうすればよいですか

私は、急速にサイズが大きくなっている新しい JavaScript アプリケーションを開発しています。

私の JavaScript アプリケーション全体は、次のような方法で、単一のファイル内の単一の関数内にカプセル化されています。

匿名関数と実行後の同じファイルで、次のようなことを行います。

このソフトウェアをオンラインにアップロードする前に、JavaScript ファイルとそのすべての依存関係を、デフォルトの Compression だけを使用して Google Closure Compiler に渡します。これで、1 つの素敵な JavaScript ファイルをオンラインで運用できるようになります。

この手法は、DOM 内に 1 つのグローバル フットプリントしか作成せず、アプリケーションの各追加機能を拡張するための非常に柔軟なフレームワークを提供してくれたので、私にとっては非常にうまく機能しました。ただし、このアプリケーション全体を 1 つの JavaScript ファイル内に保持したくないという点に到達しています。

開発中に 1 つの大きな uniqueApplication.js ファイルを使用することから、アプリケーションの機能ごとに個別のファイル (featureOne.js - featureTwo.js - featureThree.js) を使用するように移行したいと考えています。

オフラインでの開発テストが完了したら、Google Closure Compiler などの何かを使用して、これらのファイルをすべて結合したいと考えていますが、これらのファイルをすべてそのスコープ内でコンパイルしたいと考えています。 1 つのファイル内 - オフライン テスト中も同じスコープにとどめておきたいと思います。

Google Closure Compiler はモジュールを渡すための引数をサポートしていることがわかりますが、このようなことを行うことに関する多くの情報を実際に見つけることができませんでした。

これをどのように達成できるか、またはDOMに1つのフットプリントしか残さない複数のファイルにまたがる単一のJavaScriptライブラリを作成するための開発プラクティスに関する提案はありますか?

0 投票する
11 に答える
19716 参照

javascript - 縮小中にデバッグ JavaScript コードを除外する

通常のJSMin、Packer、YUIソリューションなど、JavaScript コードを縮小するさまざまな方法を検討しています。非常に強力に見える新しいGoogle Closure Compilerに非常に興味があります。

Dean Edwards packerには、3 つのセミコロンで始まるコード行を除外する機能があることに気付きました。これは、デバッグ コードを除外するのに便利です。例えば:

コードベースのクリーンアップに時間を費やしており、このようなヒントを追加して、デバッグ コードを簡単に除外したいと考えています。これに備えて、これが最善の解決策なのか、それとも他の手法があるのか​​ を調べたいと思います。

まだ縮小方法を選択していないため、最終的に使用する縮小ツールと互換性のある方法でコードをクリーンアップしたいと考えています。だから私の質問はこれらです:

  1. セミコロンを使用するのは標準的な手法ですか、それとも他の方法はありますか?

  2. この機能を提供するソリューションは Packer だけですか?

  3. 他のソリューションもこの方法で機能するように適応できますか?それとも、これを達成する別の方法がありますか?

  4. 最終的には、Closure Compiler を使い始めることになるでしょう。それに備えて今からやるべきことはありますか?

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

javascript - Google の Closure Compiler が不要なスペースや改行を残すのはなぜですか?

Google の Closure Compiler Serviceを使用するたびに、ページの右側に表示されるコンパイル済みコードに不要なスペースがいくつか残ることに気付きました。これらは、コンパイルされたコードのホストされたバージョンの改行に対応します。

例(改行に注意してください。それぞれが不要に思われます):

http://troy.onespot.com/static/stack_overflow/closure_spaces.js

これまで手動で削除してきましたが、なぜそこにあるのか不思議です。ホストされているバージョンのコードの行の長さを制限して読みやすくするためですか? コンパイラは、GZIP 圧縮の作業を最大化するために意図的にそれらを残したり挿入したりするのに十分スマートでしょうか?

それらがファイルサイズに些細な影響を与えることは知っていますが、ソーススクリプトの最後のバイトをすべて縮小するために多大な努力が払われているため、なぜそこにあるのかは直感に反します.

0 投票する
4 に答える
10700 参照

javascript - クロージャコンパイラが特定の変数の名前を変更できないようにする

_gat( Google Analytics非同期トラッカーから)名前を変更してはならないグローバルオブジェクトを含むjavascriptファイルがあります。

Google Analyticsはこの特定の名前の変数を検索するため、このオブジェクトの名前をGoogleClosureCompilerで変更しないでください。

言及されているJavascriptDocの表記を調べました:http ://code.google.com/closure/compiler/docs/js-for-compiler.html-しかし、の「保護」に関するものは何も見つかりません。変数。

単純なコンパイルを使用するか高度なコンパイルを使用するかに関係なく、問題は存在します。

_gat変数の名前が変更されていないことを確認するにはどうすればよいですか?

0 投票する
4 に答える
5074 参照

javascript - Google Closure Compiler を使用して複数の JavaScript ファイルを最適化なしで結合する方法についてのアイデアはありますか?

Google Closure Compiler を使用して複数の JavaScript ファイルを最適化なしで結合する方法についてのアイデアはありますか? 具体的には、Closure を使用して、結合されたサイト JavaScript の 2 つのバージョン (リリースとデバッグ) をデプロイします。リリースには--compilation_level SIMPLE_OPTIMIZATIONS --manage_closure_dependencies、意図したとおりに動作するものを使用しています。ただし、デバッグの場合は、デバッグを容易にするために、JavaScript をそのまま/変更せずに結合したいと考えています。最適化の最小レベルは のようWHITESPACE_ONLYです。アイデアをいただければ幸いです。

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

javascript - Google Closure コンパイラを使用して未使用の JavaScript コードを削除するにはどうすればよいですか?

Google Closure コンパイラを使用して未使用のコードを削除するにはどうすればよいですか?

JQuery Slider コントロールを使用していますが、JQuery 内で他に何も使用していません。そのため、アドバンスモードの Google Closure コンパイラは未使用のコードを削除できると読みましたが、その方法はわかりません

私のサイトでホストされているその html ページから、外部の JQuery、JQuery UI、および JQuery Slider コントロールにリンクするfrontpage.htmlがあります。

私の frontpage.html では、JQuery Slider コントロールを開始する JavaScript も HTML 内に埋め込まれています。

オンライン Closure Compilerを使用して frontpage.html、JQuery、JQuery UI、および JQuery Slider を評価し、使用していない未使用の JQuery コードをすべて削除するにはどうすればよいですか?