Các ki ut iu JavaScript

Một phần của tài liệu MÔ TẢ KỸ THUẬT MÃ NGUỒN MỞ NUKEVIET v3.x doc (Trang 56 - 57)

VI .H n gd nti u tp tin JavaScript trong mư ngu nm NukeViet 3.x

1. Các ki ut iu JavaScript

Có th chia các công c giúp ng i l p trình gi m kích th c t p tin JavaScript thành 3 ki u, c n c vào ph ng pháp mà các công c này s d ng:

1.1. Ki u RegExp:

Xóa các chú thích, các kho ng tr ng c ng nh m t s “rác” khác trong mư ngu n nh vào các bi u th c chính quy (Regular Expressions). i di n tiêu bi u cho ph ng pháp này là công c JSMin. D i đây là m t vài website cung c p công c ki u này:

http://fmarcia.info/jsmin/test.html

http://www.crockford.com/javascript/jsmin.html

1.2. Mã hóa ki u Gzip n a v i:

Nguyên lý c a nó là nén t p tin JavaScript b ng ph ng pháp nén đ n gi n (nén v i khóa đ nh ngh a). Khi hi n th trên trình duy t, n i dung b mư hóa s đ c gi i mư b ng hàm biên d ch eval. Nó đ c g i là n a v i b i s d ng ph ng pháp nén gzip m c đ th p. Ki u mư hóa này không đ c khuy n khích s d ng các website có ch đ nén gzip m c đ nh cho các t p tin JavaScript (nén 2 l n, khi n dung l ng c a n i dung đ c đ c còn l n h n so v i n i dung c a t p tin nguyên g c). Ngoài ra, trình duy t khi đ c các t p tin này s lâu h n bình th ng vì ph i th c hi n thêm thao tác “gi i mư”. Công c nén n i ti ng m t th i Dean Edwards thu c tr ng phái này (http://dean.edwards.name/packer/).

B n có th truy c p website http://jscompress.com đ th y đ c s khác nhau c a 2 ki u t i u t p tin JavaScript nêu trên.

1.3. Gi m kíchth c t p tin d a trên công ngh t i u c u trúc mã ngu n và rút g n các ký t .

MÔ T K THU T - MÃ NGU N M NUKEVIET v3.x http://nukeviet.vn ây đ c coi là ph ng pháp tân ti n nh t và đ c ShrinkSafe, YUI Compressor, Google Closure Compiler s d ng. Tr c khi th c hi n ch c n ng t i u, các công c này đ c cây cú pháp c a mư ngu n (syntax tree), d a trên k t qu đ t đ c ti n hành thay tên c a các bi n c c b b ng tên khác ng n g n h n. Cu i cùng, v i cây th m c có đ nh d ng m i này, chúng t i u mư ngu n b ng cách xóa các chú thích, các kho ng tr ng, vi t g n các s nguyên (1000 thành 1E3, 20000 thành 2E4).

Google Closure Compiler c ng nh các công c t i u th h m i khác không s d ng các bi u th c chính quy và không ti n hành nén t p tin. Bên c nh đó, nó v t tr i h n so v i ShrinkSafe và YUI Compressor ph ng pháp t i u. Trong khi YUI Compressor s d ng ph ng pháp c c b , Google Closure Compiler ti n hành phân tích mư ngu n m t cách toàn di n, l n h n nhi u so v i ý ngh a c a t “t i u”, cho ra m t k t qu đ c coi là t t nh t th i đi m hi n nay.

Công c tr c tuy n Google Closure Compiler đ c cung c p t i đây: http://closure-compiler.appspot.com/home

2. Cách s d ng Google Closure Compiler t i u JavaScript cho NukeViet 3:2.1. T i u cho các l p trình viên.

Một phần của tài liệu MÔ TẢ KỸ THUẬT MÃ NGUỒN MỞ NUKEVIET v3.x doc (Trang 56 - 57)

Tải bản đầy đủ (PDF)

(60 trang)