Có công cụ trực tuyến nào mà chúng ta có thể nhập nguồn HTML của một trang vào và sẽ rút gọn mã không?
Tôi sẽ làm điều đó cho các tệp aspx vì nó không phải là một ý kiến hay khi làm cho máy chủ web gzip chúng ...
Có công cụ trực tuyến nào mà chúng ta có thể nhập nguồn HTML của một trang vào và sẽ rút gọn mã không?
Tôi sẽ làm điều đó cho các tệp aspx vì nó không phải là một ý kiến hay khi làm cho máy chủ web gzip chúng ...
Câu trả lời:
Có lẽ hãy thử HTML Compressor , đây là bảng trước và sau hiển thị những gì nó có thể làm (bao gồm cả đối với chính Stack Overflow):
Nó có nhiều lựa chọn để tối ưu hóa các trang của bạn lên đến và bao gồm giảm thiểu tập lệnh (ompressor, Google Closure Compiler, máy nén của riêng bạn) ở nơi an toàn. Bộ tùy chọn mặc định khá thận trọng, vì vậy bạn có thể bắt đầu với bộ đó và thử nghiệm với việc bật các tùy chọn linh hoạt hơn.
Dự án được ghi chép và hỗ trợ rất tốt.
Đừng làm điều này . Hoặc đúng hơn, nếu bạn nhấn mạnh vào nó, hãy làm điều đó sau khi hoàn tất bất kỳ tối ưu hóa trang web quan trọng nào. Rất có thể chi phí / lợi ích cho nỗ lực này là không đáng kể, đặc biệt nếu bạn định sử dụng thủ công các công cụ trực tuyến để xử lý từng trang.
Sử dụng YSlow hoặc Tốc độ trang để xác định những gì bạn thực sự cần làm để tối ưu hóa các trang của mình. Tôi đoán rằng việc giảm byte HTML sẽ không phải là vấn đề lớn nhất của trang web của bạn. Có nhiều khả năng nén, quản lý bộ nhớ cache, tối ưu hóa hình ảnh, v.v. sẽ tạo ra sự khác biệt lớn hơn cho hiệu suất tổng thể của trang web của bạn. Những công cụ đó sẽ cho bạn thấy những vấn đề lớn nhất - nếu bạn đã giải quyết tất cả chúng và vẫn thấy rằng việc rút gọn HTML tạo ra sự khác biệt đáng kể, hãy tiếp tục.
(Nếu bạn chắc chắn muốn tiếp tục và sử dụng Apache httpd, bạn có thể cân nhắc sử dụng mod_pagespeed và bật một số tùy chọn để giảm khoảng trắng, v.v., nhưng hãy lưu ý các rủi ro .)
white-space: pre
và quá trình thu nhỏ sẽ phá hủy văn bản được định dạng trước.
white-space:pre
, thì vâng, việc rút gọn HTML sẽ phức tạp hơn. Tuy nhiên, tôi không rõ tại sao ai đó muốn sử dụng khoảng trắng: pre hơn là sử dụng một pre
hoặc code
phần tử.
Đây là câu trả lời ngắn gọn cho câu hỏi của bạn: bạn nên giảm thiểu HTML, CSS, JS . Có một công cụ dễ sử dụng được gọi là grunt . Nó cho phép bạn tự động hóa rất nhiều tác vụ. Trong số đó có JS , CSS , rút gọn HTML , nối tệp và nhiều thứ khác .
Các câu trả lời được viết ở đây là cực kỳ lỗi thời hoặc thậm chí đôi khi không có ý nghĩa. Có rất nhiều thứ đã thay đổi so với năm 2009 cũ, vì vậy tôi sẽ cố gắng trả lời điều này một cách hợp lý.
Câu trả lời ngắn gọn - bạn chắc chắn nên rút gọn HTML . Hôm nay nó không bình thường và tăng tốc khoảng 5% . Để có câu trả lời dài hơn, hãy đọc toàn bộ câu trả lời
Ngày xưa, mọi người đang thu nhỏ css / js theo cách thủ công (bằng cách chạy nó thông qua một số công cụ cụ thể để thu nhỏ nó). Thật khó để tự động hóa quy trình và chắc chắn đòi hỏi một số kỹ năng. Biết rằng rất nhiều trang web cấp cao thậm chí ngay bây giờ không sử dụng gzip (điều này thật tầm thường), nên có thể hiểu được rằng mọi người đã miễn cưỡng trong việc giảm thiểu html.
Vậy tại sao mọi người lại rút gọn js mà không phải html ? Khi bạn rút gọn JS, bạn thực hiện những việc sau:
var isUserLoggedIn
thành var a
)Điều này đã cải thiện rất nhiều ngay cả ở những ngày cũ. Nhưng trong html, bạn không thể đổi tên dài thành ngắn, và hầu như không có gì để bình luận trong thời gian đó. Vì vậy, điều duy nhất còn lại là xóa dấu cách và dòng mới. Điều này chỉ mang lại một số cải tiến nhỏ.
Một lập luận sai lầm được viết ở đây là bởi vì nội dung được cung cấp bằng gzip, nên việc thu nhỏ không có ý nghĩa. Điều này là hoàn toàn sai lầm. Đúng vậy, việc gzip làm giảm sự cải thiện của việc thu nhỏ cũng có lý, nhưng tại sao bạn nên gzip nhận xét, khoảng trắng nếu bạn có thể cắt chúng đúng cách và gzip chỉ là phần quan trọng. Nó cũng giống như việc bạn có một thư mục để lưu trữ trong đó có một số thứ tào lao mà bạn sẽ không bao giờ sử dụng và bạn quyết định chỉ nén nó thay vì dọn dẹp và nén nó.
Một lập luận khác tại sao việc thu nhỏ lại vô nghĩa là nó tẻ nhạt. Có thể điều này đúng vào năm 2009, nhưng các công cụ mới đã xuất hiện sau thời điểm này. Ngay bây giờ bạn không cần phải thu nhỏ đánh dấu của mình theo cách thủ công. Với những thứ như Grunt , việc cài đặt grunt-Contrib-htmlmin (dựa trên HTMLMinifier của @kangax) và cấu hình nó để giảm thiểu html của bạn là điều rất dễ dàng. Tất cả những gì bạn cần là 2 giờ để học grunt và cấu hình mọi thứ và sau đó mọi thứ được thực hiện tự động trong vòng chưa đầy một giây. Âm thanh rằng 1 giây (thậm chí bạn có thể tự động hóa để không làm gì với grunt-Contrib-watch ) thực sự không quá tệ đối với khoảng 5% cải thiện (ngay cả với gzip).
Một lập luận nữa là CSS và JS là tĩnh và HTML được tạo bởi máy chủ nên bạn không thể thu nhỏ trước nó. Đây cũng là sự thật trong năm 2009, nhưng hiện tại nhiều hơn và nhiều trang web đang tìm kiếm giống như một ứng dụng trang duy nhất, nơi mà các máy chủ là mỏng và khách hàng đang thực hiện tất cả các định tuyến, templating và logic khác. Vì vậy, máy chủ chỉ cung cấp cho bạn JSON và máy khách kết xuất nó. Ở đây bạn có rất nhiều html cho trang và các mẫu khác nhau.
Vì vậy, để kết thúc suy nghĩ của tôi:
<span>
). Trước hết, bạn luôn có thể tìm ra cách để viết html hợp lệ làm cho nó trở nên bất khả tri về khoảng trắng. Ngoài ra, bạn có thể ngạc nhiên khi nghe nói, nhưng trình thu nhỏ JS / CSS cũng có thể tạo ra một lỗi - điều đó không có nghĩa là bạn không nên sử dụng nó. Vì vậy, hai cách để giải quyết vấn đề của bạn: học cách viết đánh dấu bất khả tri khoảng trắng, kiểm tra sản phẩm của bạn trước / sau khi thu nhỏ (CSS / HTML / JS). Ngoài ra trong Minifier, bạn có thể chỉ định những khoảng trắng nào bạn muốn giữ lại.
* { white-space: pre; }
là một điều hiển nhiên, nhưng nếu bạn đang xóa tất cả khoảng trắng và không chỉ thu gọn nó (thay vào đó là lề), văn bản có thể sao chép không chính xác và tàn phá trình duyệt văn bản và trình đọc màn hình.
Tôi đã viết một công cụ web để rút gọn HTML. http://prettydiff.com/?m=minify&html
Công cụ này hoạt động theo các quy tắc sau:
style
thẻ được cho là CSS và được rút gọn như vậyscript
thẻ được cho là JavaScript, trừ khi được cung cấp một loại phương tiện khác và sau đó được rút gọn như vậy<!--[if IE 8.0]><link rel="stylesheet" href="css/ie8.css" type="text/css" /><![endif]-->
Điều này đã làm việc cho tôi:
http://minify.googlecode.com/git/min/lib/Minify/HTML.php
Nó không phải là một công cụ trực tuyến đã có sẵn, nhưng là một PHP đơn giản bao gồm nó đủ dễ dàng để bạn có thể tự chạy nó.
Mặc dù vậy, tôi sẽ không lưu các tệp nén, hãy thực hiện việc này một cách linh hoạt nếu bạn thực sự phải làm vậy và luôn là ý tưởng tốt hơn để bật tính năng nén máy chủ Gzip. Tôi không biết nó liên quan như thế nào trong IIS / .Net, nhưng trong PHP, việc thêm một dòng vào tệp bao gồm toàn cầu cũng đơn giản như vậy
CodeProject có một dự án mẫu đã xuất bản ( http://www.codeproject.com/KB/aspnet/AspNetOptimizer.aspx?fid=1528916&df=90&mpp=25&noise=3&sort=Position&view=Quick&select=2794900 ) để xử lý một số tình huống sau .. .
Đối với nền tảng Microsoft .NET, có một thư viện được gọi là WebMarkupMin , nó tạo ra sự thu nhỏ của mã HTML.
Ngoài ra, có một mô-đun để tích hợp thư viện này vào ASP.NET MVC - WebMarkupMin.Mvc .
hãy thử http://code.mini-tips.com/html-minifier.html , đây là .NET Libary cho Html Minifier
HtmlCompressor là một thư viện .NET nhỏ, nhanh và rất dễ sử dụng, thu nhỏ nguồn HTML hoặc XML đã cho bằng cách loại bỏ các khoảng trắng thừa, nhận xét và các ký tự không cần thiết khác mà không phá vỡ cấu trúc nội dung. Kết quả là các trang có kích thước nhỏ hơn và tải nhanh hơn. Một phiên bản dòng lệnh của máy nén cũng có sẵn.