Google Closure Tools

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Google Closure Tools
Thiết kế bởi Google
Phát hành lần đầu 5 tháng 11, 2009
Có các thứ tiếng JavaScript
Thể loại Ajax framework
Giấy phép Apache License 2.0
Website http://code.google.com/closure/

Closure Tools là một công cụ do Google phát triển, giúp người lập trình giảm kích thước tập tin JavaScript mà vẫn thực thi các câu lệnh JavaScript như bình thường. Công cụ này được phát triển bởi Google cho các ứng dụng web của hãng như Gmail, Google DocsGoogle Maps.

Hiện nó cũng được tích hợp trong Google Web Toolkit cho nhà phát triển.

Closure Compiler[sửa | sửa mã nguồn]

Closure Compiler là một JavaScript tối ưu hoá mã JavaScript khiến nó được tải về và thực thi nhanh hơn.

Cách thức làm việc[sửa | sửa mã nguồn]

Giải pháp được đưa ra đó là xóa đi khoảng trắng thừa, chú thích và rút gọn tên biến:

  • Chuẩn hóa mã JS bằng cách thêm dấu chấm phẩy (;) vào cuối mỗi câu phát biểu (statement), thêm dấu mở đóng ngoặc nhọn ({}) vào những câu lệnh mà nhà phát triển thường bỏ qua.
  • Xóa toàn bộ khoảng trắng, dấu xuống hàng, tab, ngoại trừ các khoảng trắng trong chuỗi hoặc những câu lệnh như return
  • Rút gọn các tên biến trong một hàm, đặt lại tên thành a, b, c, d,...
  • Một số tối ưu nữa như rút gọn số nguyên (20000 thành 2E4).

Lỗi[sửa | sửa mã nguồn]

Hiện có một lỗi khi sử dụng mã JS đã tối ưu, đưa vào trong FBML (API của ứng dụng Facebook). Cụ thể lỗi như sau:

  • Closure Compiler rút gọn những số nguyên như 2000 thành 2E3 (chuẩn này do W3C đưa ra).
  • Trong khi đó, bộ biên dịch của Facebook lại biến thành 2#hashingcode#_E3. Kết quả là không thực thi được.

Cách sửa lỗi duy nhất là nhà phát triển tự tay chuyển lại 2E3 thành 2000.

Closure Library[sửa | sửa mã nguồn]

Closure Library là một thư viện JavaScript với chất liệu như điều khiển và tiện ích UI.

Closure Templates[sửa | sửa mã nguồn]

Closure Templates là một hệ thống template cho sự phát triển bùng nổ HTML ở cả JavaJavascript.

Xem thêm[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]