Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

23

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có một vấn đề, tôi phải gzip một lib nguyên mẫu, nhưng tôi hoàn toàn không biết làm thế nào để làm điều này, bắt đầu từ đâu và nó hoạt động như thế nào. :)

Tôi tìm thấy một số hướng dẫn nhưng điều đó không hữu ích ...

Vì vậy, tôi có một thư mục với các tệp JS của mình:

/nén/js/1.js 2.js 3.js

Tôi đang gọi các tệp này để kiểm tra trong tệp này

/compresses/index.php



Vậy tôi phải làm gì? :)

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

Lucas

16.6K30 Huy hiệu vàng106 Huy hiệu bạc173 Huy hiệu đồng30 gold badges106 silver badges173 bronze badges

Hỏi ngày 19 tháng 4 năm 2010 lúc 8:33Apr 19, 2010 at 8:33

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

1

Bạn có thể sử dụng mod_deflate của Apache để tự động nén các tệp của mình một cách nhanh chóng.

Example:

AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 

[edit]

Để kiểm tra xem máy chủ Apache của bạn có bật nén đầu ra hay không, hãy đặt ví dụ ở trên vào tệp .htaccess. Sau đó, tải một tệp HTML hoặc JS qua máy chủ và kiểm tra các tiêu đề để biết "mã hóa nội dung", nếu nó nói gzip hoặc xì hơi, nó được bật.

Đã trả lời ngày 19 tháng 4 năm 2010 lúc 8:39Apr 19, 2010 at 8:39

5

Thêm mã này vào .htaccess của bạn, nó sẽ gzip tất cả các tệp CSS và JS của bạn.

# BEGIN GZIP

AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript

# END GZIP

Đã trả lời ngày 2 tháng 4 năm 2013 lúc 21:34Apr 2, 2013 at 21:34

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

Waiyl Karimwaiyl KarimWaiyl Karim

2.68220 huy hiệu bạc24 Huy hiệu đồng20 silver badges24 bronze badges

2

Tôi ở trên ví dụ tương tự như thế này hoạt động tuyệt vời nhưng không nén JavaScript. Tôi cần thêm ứng dụng/javascript.

AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript application/javascript 

Đã trả lời ngày 8 tháng 2 năm 2013 lúc 5:11Feb 8, 2013 at 5:11

Xin chào nếu bạn đang sử dụng Máy chủ Nginx, ở trên sẽ không giúp được gì. Vui lòng chỉnh sửa lệnh với lệnh vi /etc/nginx/nginx.conf và thêm các dòng dưới đây.Nginx server the above will not help. Please edit the with command vi /etc/nginx/nginx.conf and add the below lines.

gzip on;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types    text/plain text/html text/css
          application/x-javascript text/xml
          application/xml application/xml+rss
          text/javascript;

Khởi động lại Nginx với lệnh /etc/init.d/nginx reload. Nó sẽ nén các tệp JS và CSS.

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

ozil

6.5349 Huy hiệu vàng31 Huy hiệu bạc54 Huy hiệu đồng9 gold badges31 silver badges54 bronze badges

Đã trả lời ngày 16 tháng 9 năm 2013 lúc 16:00Sep 16, 2013 at 16:00

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

RatnaratnaRatna

511 Huy hiệu bạc1 Huy hiệu đồng1 silver badge1 bronze badge

1

Bạn cần xử lý công cụ này bằng cách sử dụng cấu hình cho máy chủ HTTP mà bạn đang sử dụng.

Bạn có thể vui lòng cho tôi biết bạn đang sử dụng máy chủ nào không? IIS/Apache?

Sau đây là liên kết để nén với IIS

Đã trả lời ngày 19 tháng 4 năm 2010 lúc 8:35Apr 19, 2010 at 8:35

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

Anil Namdeanil NamdeAnil Namde

6.24410 Huy hiệu vàng62 Huy hiệu bạc99 Huy hiệu đồng10 gold badges62 silver badges99 bronze badges

0

Nén là một cách đơn giản, hiệu quả để tiết kiệm băng thông và tăng tốc trang web của bạn. Tôi đã do dự khi đề xuất nén GZIP khi tăng tốc JavaScript của bạn vì các vấn đề trong các trình duyệt cũ.

Nhưng nó là thế kỷ 21. Hầu hết lưu lượng truy cập của tôi đến từ các trình duyệt hiện đại, và khá thẳng thắn, hầu hết người dùng của tôi đều khá am hiểu công nghệ. Tôi không muốn làm chậm mọi người khác vì ai đó đang chạy theo IE 4.0 trên Windows 95. Google và Yahoo sử dụng nén GZIP. Một trình duyệt hiện đại là cần thiết để thưởng thức nội dung web hiện đại và tốc độ web hiện đại - vì vậy GZIP mã hóa nó. Đây là cách để thiết lập nó.

Đợi đã, đợi đã, đợi đã: Tại sao chúng ta làm điều này?

Trước khi chúng tôi bắt đầu, tôi nên giải thích mã hóa nội dung là gì. Khi bạn yêu cầu một tệp như http://www.yahoo.com/index.html, trình duyệt của bạn sẽ nói chuyện với máy chủ web. Cuộc trò chuyện diễn ra một chút như thế này:

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

  1. Trình duyệt: Này, lấy tôi /index.htmlGET me /index.html
  2. Máy chủ: OK, hãy để tôi xem nếu index.html đang nằm xung quanh
  3. Máy chủ: Tìm thấy nó! Tại đây, mã phản hồi của bạn (200 OK) và tôi đã gửi tệp.
  4. Trình duyệt: 100kb? Ouch, chờ đợi, chờ đợi, OK OK, nó đã tải.

Tất nhiên, các tiêu đề và giao thức thực tế là trang trọng hơn nhiều (theo dõi chúng bằng các tiêu đề HTTP trực tiếp nếu bạn rất nghiêng).HTTP Headers if you’re so inclined).

Nhưng nó đã hoạt động, và bạn có tập tin của bạn.

Vậy vấn đề gì?

Chà, hệ thống hoạt động, nhưng nó không hiệu quả. 100kb là rất nhiều văn bản, và thẳng thắn, HTML là dự phòng. Mỗi thẻ ,

and
đều có một thẻ đóng mà gần như giống nhau. Các từ được lặp lại trong suốt tài liệu. Bất cứ cách nào bạn cắt nó, HTML (và anh em họ khỏe mạnh của nó, XML) không nạc.lot of text, and frankly, HTML is redundant. Every ,
and
tag has a closing tag that’s almost the same. Words are repeated throughout the document. Any way you slice it, HTML (and its beefy cousin, XML) is not lean.

Và những gì mà kế hoạch khi một tập tin quá lớn? Zip nó!

Nếu chúng tôi có thể gửi tệp .zip đến trình duyệt (index.html.zip) thay vì chỉ số cũ.html, chúng tôi sẽ lưu về băng thông và thời gian tải xuống. Trình duyệt có thể tải xuống tệp nén, trích xuất nó và sau đó hiển thị cho người dùng, người mà trong tâm trạng tốt vì trang được tải nhanh chóng. Cuộc trò chuyện máy chủ trình duyệt có thể trông như thế này:

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

  1. Trình duyệt: Này, tôi có thể lấy index.html không? Tôi sẽ lấy một phiên bản nén nếu bạn đã nhận được nó.GET index.html? I’ll take a compressed version if you’ve got it.
  2. Máy chủ: Hãy để tôi tìm tập tin, yep, nó ở đây. Và bạn sẽ lấy một phiên bản nén? Đáng kinh ngạc.
  3. Máy chủ: OK, tôi đã tìm thấy Index.html (200 OK), đang Zipping nó và gửi nó qua.
  4. Trình duyệt: Tuyệt vời! Nó chỉ có 10kb. Tôi sẽ giải nén nó và hiển thị cho người dùng.

Công thức rất đơn giản: Tệp nhỏ hơn = Tải xuống nhanh hơn = Người dùng hạnh phúc.happy user.

Don Tiết tin tôi? Phần HTML của trang chủ Yahoo đi từ 101kb đến 15kb sau khi nén:HTML portion of the yahoo home page goes from 101kb to 15kb after compression:

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

Các chi tiết lông (không phải vậy)

Phần khó khăn của trao đổi này là trình duyệt và máy chủ biết rằng nó OK OK để gửi một tệp bị nén. Thỏa thuận có hai phần

  • Trình duyệt gửi một tiêu đề cho máy chủ nói rằng nó chấp nhận nội dung nén (GZIP và độ lệch là hai sơ đồ nén):

    AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 
    
    0browser sends a header telling the server it accepts compressed content (gzip and deflate are two compression schemes):
    AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 
    
    0

  • Máy chủ gửi phản hồi nếu nội dung thực sự được nén:

    AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 
    
    1server sends a response if the content is actually compressed:
    AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 
    
    1

Nếu máy chủ không gửi tiêu đề phản hồi mã hóa nội dung, điều đó có nghĩa là tệp không được nén (mặc định trên nhiều máy chủ). Tiêu đề mã hóa chấp nhận của người Viking chỉ là một yêu cầu của trình duyệt, không phải là một nhu cầu. Nếu máy chủ không muốn gửi lại nội dung nén, trình duyệt phải thực hiện với phiên bản thường xuyên.

Thiết lập máy chủ

Tin tốt của người Viking là chúng tôi có thể kiểm soát trình duyệt. Nó hoặc gửi tiêu đề

AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 
2 hoặc nó không có.

Công việc của chúng tôi là định cấu hình máy chủ để nó trả về nội dung có khóa nếu trình duyệt có thể xử lý nó, lưu băng thông cho mọi người (và cho chúng tôi một người dùng hạnh phúc).

Đối với IIS, bật nén trong cài đặt.IIS, enable compression in the settings.

Trong Apache, việc cho phép nén đầu ra khá đơn giản. Thêm phần sau vào tệp .htaccess của bạn:

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Or, compress certain file types by extension:

SetOutputFilter DEFLATE

Apache thực sự có hai tùy chọn nén:

  • mod_deflate dễ dàng hơn để thiết lập và là tiêu chuẩn. is easier to set up and is standard.
  • mod_gzip có vẻ mạnh mẽ hơn: bạn có thể có nội dung trước. seems more powerful: you can pre-compress content.

Xử lý là nhanh chóng và hoạt động, vì vậy tôi sử dụng nó; Sử dụng mod_gzip nếu nó nổi thuyền của bạn. Trong cả hai trường hợp, Apache kiểm tra xem trình duyệt có gửi tiêu đề mã hóa được mã hóa của người dùng hay không và trả về phiên bản nén hoặc thông thường của tệp. Tuy nhiên, một số trình duyệt cũ có thể gặp rắc rối (nhiều hơn bên dưới) và có những chỉ thị đặc biệt bạn có thể thêm để sửa điều này.

Nếu bạn có thể thay đổi tệp .htaccess của mình, bạn có thể sử dụng PHP để trả về nội dung nén. Cho tệp HTML của bạn một phần mở rộng .php và thêm mã này vào đầu:PHP to return compressed content. Give your HTML file a .php extension and add this code to the top:

Trong PHP:PHP:

Chúng tôi kiểm tra tiêu đề mã hóa chấp nhận của người Viking và trả về phiên bản Gzipped của tệp (nếu không thì phiên bản thông thường). Điều này gần giống như xây dựng máy chủ web của riêng bạn (những gì thú vị!). Nhưng thực sự, hãy cố gắng sử dụng Apache để nén đầu ra của bạn nếu bạn có thể giúp nó. Bạn không muốn khỉ với các tập tin của bạn.

Xác minh nén của bạn

Khi bạn đã cấu hình máy chủ của mình, hãy kiểm tra để đảm bảo rằng bạn thực sự phục vụ nội dung nén.

  • Trực tuyến: Sử dụng thử nghiệm GZIP trực tuyến để kiểm tra xem trang của bạn có bị nén không. Use the online gzip test to check whether your page is compressed.

  • Trong trình duyệt của bạn: Trong Chrome, hãy mở Tab Mạng> Tab mạng (Firefox/IE sẽ giống nhau). Làm mới trang của bạn và nhấp vào dòng mạng cho chính trang (nghĩa là,

    AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 
    
    3). Tiêu đề mã hóa nội dung: GZIP, có nghĩa là các nội dung đã được gửi nén. In Chrome, open the Developer Tools > Network Tab (Firefox/IE will be similar). Refresh your page, and click the network line for the page itself (i.e.,
    AddOutputFilterByType DEFLATE text/html text/xml text/css text/javascript 
    
    3). The header “Content-encoding: gzip” means the contents were sent compressed.

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

Nhấp vào biểu tượng sử dụng các hàng lớn của các hàng lớn để có thêm chi tiết, bao gồm kích thước truyền nén và kích thước nội dung thực.

Hướng dẫn how do i gzip a javascript file? - làm cách nào để gzip một tệp javascript?

Hãy chuẩn bị để ngạc nhiên trước kết quả. Trang chủ Instacalc bị thu hẹp từ 36K xuống còn 10K, giảm 75% kích thước.

Hãy thử một số ví dụ

Tôi đã thiết lập một số trang và một ví dụ có thể tải xuống:

  • index.html - Không nén rõ ràng (trên máy chủ này, tôi đang sử dụng nén theo mặc định).
  • index.htm - nén rõ ràng với apache .htaccess bằng cách sử dụng *.htm như một quy tắc
  • index.php - nén rõ ràng bằng cách sử dụng tiêu đề PHPPHP header

Vui lòng tải xuống các tệp, đặt chúng trên máy chủ của bạn và điều chỉnh cài đặt.

Hãy cẩn thận

Thật thú vị như nó có thể xuất hiện, HTTP nén không phải là tất cả các trò chơi và trò chơi. Ở đây, những gì cần chú ý:HTTP Compression isn’t all fun and games. Here’s what to watch out for:

  • Các trình duyệt cũ hơn: Có, một số trình duyệt vẫn có thể gặp rắc rối với nội dung nén (họ nói rằng họ có thể chấp nhận nó, nhưng thực sự họ có thể). Nếu trang web của bạn hoàn toàn phải hoạt động với NetScape 1.0 trên Windows 95, bạn có thể không muốn sử dụng nén HTTP. Apache mod_deflate có một số quy tắc để tránh nén cho các trình duyệt cũ hơn.: Yes, some browsers still may have trouble with compressed content (they say they can accept it, but really they can’t). If your site absolutely must work with Netscape 1.0 on Windows 95, you may not want to use HTTP Compression. Apache mod_deflate has some rules to avoid compression for older browsers.

  • Nội dung đã được áp dụng: Hầu hết các hình ảnh, âm nhạc và video đã được nén. Don lồng lãng phí thời gian nén chúng một lần nữa. Trên thực tế, có lẽ bạn chỉ cần nén các trò chơi Big Big 3 (HTML, CSS và JavaScript).: Most images, music and videos are already compressed. Don’t waste time compressing them again. In fact, you probably only need to compress the “big 3” (HTML, CSS and Javascript).

  • CPU-tải: Nén nội dung sử dụng thời gian CPU và lưu băng thông. Thông thường đây là một sự đánh đổi tuyệt vời với tốc độ nén. Có nhiều cách để có nội dung tĩnh trước khi nén và gửi qua các phiên bản nén. Điều này đòi hỏi nhiều cấu hình hơn; Ngay cả khi nó không thể có được, đầu ra nén vẫn có thể là một chiến thắng ròng. Sử dụng các chu kỳ CPU cho trải nghiệm người dùng nhanh hơn là rất đáng giá, với sự chú ý ngắn trên web.-load: Compressing content on-the-fly uses CPU time and saves bandwidth. Usually this is a great tradeoff given the speed of compression. There are ways to pre-compress static content and send over the compressed versions. This requires more configuration; even if it’s not possible, compressing output may still be a net win. Using CPU cycles for a faster user experience is well worth it, given the short attention spans on the web.

Kích hoạt nén là một trong những cách nhanh nhất để cải thiện hiệu suất trang web của bạn. Đi ra, thiết lập nó và để người dùng của bạn tận hưởng những lợi ích.

Các bài viết khác trong loạt bài này

  1. Cách tối ưu hóa trang web của bạn với bộ nhớ đệm HTTP
  2. Cách tối ưu hóa trang web của bạn với nén GZIP
  3. Cách gỡ lỗi các ứng dụng web với Firefox
  4. Tăng tốc độ tải JavaScript của bạn
  5. Tăng tốc độ JavaScript của bạn, Phần 2: Ví dụ có thể tải xuống!

Làm thế nào để tôi gzip CSS và JavaScript?

Hiển thị hoạt động trên bài viết này. Để kiểm tra xem máy chủ Apache của bạn có bật nén đầu ra hay không, hãy đặt ví dụ ở trên vào một. HTACCESS FILE. Sau đó, tải một tệp HTML hoặc JS qua máy chủ và kiểm tra các tiêu đề để biết "mã hóa nội dung", nếu nó nói gzip hoặc xì hơi, nó được bật.load an html or js file via the server and check the headers for "Content-Encoding", if it says gzip or deflate, it is enabled.

Làm thế nào để bạn gzip một tập tin?

Hướng dẫn nhanh về lệnh `gzip`, được sử dụng để nén một tệp..
Tên tệp gzip.Điều này sẽ nén tệp và thêm phần mở rộng .gz vào nó.....
Tên tệp gzip -c> fileName.gz.....
Tên tệp gzip -K.....
Tên tệp GZIP -1.....
GZIP FILENAME1 FILENAME2.....
gzip -r a_folder.....
gzip -d fileName.gz ..

Sự khác biệt giữa zip và gzip là gì?

Sự khác biệt quan trọng nhất là GZIP chỉ có khả năng nén một tệp duy nhất trong khi ZIP nén từng tệp một và lưu trữ chúng vào một tệp sau đó.gzip is only capable to compress a single file while zip compresses multiple files one by one and archives them into one single file afterwards.

Làm cách nào để kích hoạt nén GZIP cho HTML?

Làm thế nào để kích hoạt nén GZIP..
Kiểm tra nén GZIP bằng kiểm tra tốc độ trang web.Kiểm tra tốc độ trang web là một công cụ để đo thời gian tải của trang web.....
Kiểm tra nén GZIP bằng cách sử dụng thử nghiệm.....
Kiểm tra nén GZIP bằng các công cụ dành cho nhà phát triển trình duyệt.....
Bật nén GZIP bằng plugin WordPress.....
Bật nén GZIP bằng cách sử dụng ..