Bước tới nội dung

Google Closure Tools

Bách khoa toàn thư mở Wikipedia
Google Closure Tools
Thiết kế bởiGoogle
Phát hành lần đầu5 tháng 11 năm 2009
Kho mã nguồn
Ngôn ngữ có sẵnJavaScript
Thể loạiAjax framework
Giấy phépApache License 2.0
Websitehttp://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).

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ưu trữ 2010-02-08 tại Wayback Machine 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.

Tham khảo

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

Liên kết ngoài

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