0

現在、私はjavascriptファイルだけでClosureCompilerを使用しています。ここで、CSSクラスを縮小して名前を短くしたいと思います。

.jsファイル内のすべてのjqueryCSS文字列ベースのセレクター(つまり、変数ベースのセレクター)を書き直す必要を回避する方法はあります$('#SomeID')$('.SomeClass'))?ほとんどのHTMLは実際には実行時に生成されるため、スケルトンHTMLを簡単に移動できますこれは最初は.jsファイルのページにあり、document.ready関数で最初にアプリに必要なスケルトンHTMLをページに配置します。これにより、CSSセレクターの書き換えが回避されるのでしょうか、それともセレクターをプロパティとして書き換える必要があるのでしょうか。オブジェクトの?

ドキュメントはここにありますが、明確なhttp://code.google.com/p/closure-stylesheets/#Renamingが見つかりませんでした

あなたの提案をありがとう。

4

1 に答える 1

5

あなたの質問に対する短い答えは、「いいえ、ありません」です。

ここで jQuery セレクターを使用していると指定したことを考えると、このジョブのツールは、HTML、CSS、および JS コードの 3 つすべてを書き直す必要があることがわかります。

特に JS コードは、部分文字列を使用して jQuery セレクターを構築する可能性があるため、非常に扱いにくいものになります$('#prefix_' + suffix)。あなたがそのようなことをしたことがあるかどうかはわかりませんが、それができると、ID とクラスの名前を変更できる完全に信頼できるツールを作成することは事実上不可能になりますが、それでも JS コードは正しく機能します。コードが比較的単純であれば、それが機能するように書くことは可能かもしれませんが、簡単に壊れてしまうような汎用ツールを誰もリリースするつもりはありません。

さらに、そのようなツールが特に役立つとは思いません。過度の最適化のケースのように聞こえます。

最適化は素晴らしいことです。サイトをできるだけ速くする努力をするのは良いことです。しかし、優れた最適化の重要な技術の 1 つは、最も遅い領域を最適化することです。コードの主なボトルネックがクラス名の長さであるとしたら、私は非常に驚かれることでしょう。

したがって、私のアドバイスは、実際のボトルネックがコードのどこにあるかを見つけることに時間を費やし、それらに対処することです。この効果は、これまでに行ったすべての縮小作業の合計よりもはるかに大きい可能性があります。

于 2012-09-01T06:31:11.427 に答える