0
GoogleClosure Compiler                  2012/05/06         h13i32maru@Twitter           maruyama-r@KLab
自己紹介• 丸山 亮(h13i32maru) 最近はJSを触ってます• KLab株式会社所属32   http://blog.h13i32maru.jp     http://twitter.com/h13i32maru     https:/...
Closure Compiler• JavaScriptの結合・最適化・圧縮ツール - java製• Closureファミリーの一部 - Closure Library - Closure Template - Closure Linter
Closure Compiler• 最適化レベル• エラー・警告• アノテーションチェック• 依存関係• extern宣言
最適化レベル•   WHITE_SPACE_ONLY → (・ω・)    -   改行、スペース、コメント等の削除のみ•   SIMPLE_OPTIMIZATIONS → (`・ω・´)    -   ローカル変数名、関数の引数名の変更•  ...
エラー・警告• エラー       • 警告 - syntax    - 名前衝突 - ケツカンマ     - varによる再宣言 - 配列インデックス - 無名関数宣言 - etc...    - etc...
アノテーションチェック• JSDocアノテーションを元にしたチェック - @construcotr : new演算子チェック - @const : 定数最代入チェック - @interface/@implements : メソッド実装チェック
依存関係• 複数のJSファイルを結合する場合に依存関係を チェック• 使用されていないファイルは結合されない• 大規模ライブラリの一部をコンパイルする場合に 便利      //file1.js         goog.provide("ho...
extern宣言• 「外部JS」「ブラウザ固有オブジェクト」を使用 している場合に、名前変更されないようにする仕 組み• 例えばconsole.*を使用している場合など
参考• http://www37.atwiki.jp/aias-closurecompiler/pages/  21.html
おわり
Upcoming SlideShare
Loading in...5
×

Google Closure Compiler

3,074

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,074
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Google Closure Compiler"

  1. 1. GoogleClosure Compiler 2012/05/06 h13i32maru@Twitter maruyama-r@KLab
  2. 2. 自己紹介• 丸山 亮(h13i32maru) 最近はJSを触ってます• KLab株式会社所属32 http://blog.h13i32maru.jp http://twitter.com/h13i32maru https://www.facebook.com/ryo.maruyama https://github.com/h13i32maru
  3. 3. Closure Compiler• JavaScriptの結合・最適化・圧縮ツール - java製• Closureファミリーの一部 - Closure Library - Closure Template - Closure Linter
  4. 4. Closure Compiler• 最適化レベル• エラー・警告• アノテーションチェック• 依存関係• extern宣言
  5. 5. 最適化レベル• WHITE_SPACE_ONLY → (・ω・) - 改行、スペース、コメント等の削除のみ• SIMPLE_OPTIMIZATIONS → (`・ω・´) - ローカル変数名、関数の引数名の変更• ADVANCED_OPTIMIZATIONS → ((((;゚Д゚)))) gkbr - プロパティ名、関数名などもアグレッシブに変更 - 例えばFoo.Bar を Foo$Barとかに変更
  6. 6. エラー・警告• エラー • 警告 - syntax - 名前衝突 - ケツカンマ - varによる再宣言 - 配列インデックス - 無名関数宣言 - etc... - etc...
  7. 7. アノテーションチェック• JSDocアノテーションを元にしたチェック - @construcotr : new演算子チェック - @const : 定数最代入チェック - @interface/@implements : メソッド実装チェック
  8. 8. 依存関係• 複数のJSファイルを結合する場合に依存関係を チェック• 使用されていないファイルは結合されない• 大規模ライブラリの一部をコンパイルする場合に 便利 //file1.js goog.provide("hoge.foo"); //file2.js goog.require("hoge.foo");
  9. 9. extern宣言• 「外部JS」「ブラウザ固有オブジェクト」を使用 している場合に、名前変更されないようにする仕 組み• 例えばconsole.*を使用している場合など
  10. 10. 参考• http://www37.atwiki.jp/aias-closurecompiler/pages/ 21.html
  11. 11. おわり
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×