2009-02-06 16 views
14

Hiện tại có bất kỳ giải pháp nào có thể rút gọn toàn bộ thư mục dự án không? Quan trọng hơn, làm bất kỳ giải pháp tồn tại mà có thể rút ngắn tên lớp, id, và giữ chúng nhất quán trong suốt tất cả các tài liệu?Giảm thiểu toàn bộ thư mục trong khi giữ nguyên tố/kiểu/mối quan hệ tập lệnh?

Cái gì đó có thể tắt chức năng này:

index.html ---

<div class="fooBar"> 
    <!-- Code --> 
</div> 

styles.css ---

.fooBar { 
    // Comments and Messages 
    background-color: #000000; 
} 

Index.js ---

$(".fooBar").click(function() { 
    /* More Comments */ 
    alert("fooBar"); 
}); 

Into này:

index.html ---

<div class="a"></div> 

styles.css ---

.a{background-color:#000;} 

Index.js ---

$(".a").click(function(){alert("fooBar");}); 
+0

Đợi một phút - không sử dụng để trở thành tiền thưởng cho câu hỏi này? Ai có nó? –

+0

Nghiêm túc - Tôi có thể thấy rằng tiền thưởng đã được trừ vào tài khoản của bạn, nhưng không ai trong số những người trả lời nhận được nó ?? Có lỗi trong SO ??? –

+1

Jens, tôi cũng nhận thấy điều đó ... Cái lỗ đen SOFlow ăn đại diện của tôi! :) – Sampson

Trả lời

5

gì bạn đang tìm kiếm là không khai thác, nhưng nén. Giảm theo định nghĩa chỉ xóa khoảng trắng, vì việc rút ngắn số nhận dạng sẽ làm thay đổi giao diện, có khả năng phá vỡ các tập lệnh bên ngoài phụ thuộc vào nó. Vì lý do này, minifying vốn đã 'an toàn' hơn nén, mặc dù trong một hệ thống khép kín (ví dụ: một ứng dụng web đóng gói), nén có thể là một ý tưởng hay.

Đối với Javascript, hầu hết mọi người sử dụng YUI Compressor hoặc Dean Edwards' Packer.

Đối với CSS, có rất nhiều công cụ để 'tối ưu hóa' kiểu, nhưng tôi không biết bất kỳ công cụ nào cũng rút ngắn tên lớp. Lý do cho việc này có thể là một số:

  1. Để nén tệp CSS, tập lệnh cần biết tất cả các tệp HTML bao gồm để thay đổi tham chiếu lớp và id trong đó. Tùy thuộc vào kích thước và cấu trúc trang web của bạn, anh ta có thể không tầm thường.
  2. Sau khi nén, HTML ngữ nghĩa trở nên ít có thể đọc được, vì <span class="image_caption"> chuyển thành <span class="a12"> hoặc kém hơn, <p id="a12">.

Nó chắc chắn sẽ có thể làm điều gì đó giống như những gì bạn mô tả (và tôi đang thực sự làm việc trên một CMS/khuôn khổ cá nhân mà sẽ), nhưng đối với nó được duy trì, nó sẽ có thể có được một phần tích hợp của CMS có cấu trúc chặt chẽ, nén tất cả các tệp 'đằng sau hậu trường' bất cứ khi nào có thay đổi mới được xuất bản, trong khi vẫn giữ tất cả các tệp gốc để trang web có thể được duy trì tổng thể.

4

tôi sử dụng http://www.w3compiler.com/ mà không nén và Obfuscation

+0

Điều này trông rất giống với những gì tôi đang tìm kiếm. Nếu chỉ có nó có thể rút ngắn tên lớp, id, tên biến javascript, v.v. – Sampson

+0

Nó rút ngắn các biến javascript (tôi nghĩ có một tùy chọn bạn phải kiểm tra) Tôi đã từng sử dụng http://cdburnerxp.se/cssparse/css_optimiser .php? lang = vi để nén CSS, nhưng tôi thấy nó quá hung hăng và bị hỏng - tuy nhiên, đã xem xét nó gần đây – Kristen

0

tôi sử dụng YUICompressor cho rút gọn css của tôi và các file js, và một chương trình gọi là replace để làm thay thế tùy chỉnh các chuỗi trong html (loại bỏ ý kiến, thay thế lib jquery địa phương với google api vv)

Sử dụng một tập tin batch để gọi chương trình trên tất cả các file có phần mở rộng cụ thể trong thư mục dự án của bạn như sau:

java -jar yuicompressor-2.4.2.jar -o temp\css\one-compressed.css temp\css\one.css 
replace -quotes \q -srcdir temp\ -fname "*.php" -find "<script type=\qtext/javascript\q src=\qjs/jquery.js\q></script>" -replace "<script src=\qhttp://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js\q type=\qtext/javascript\q></script>" 

và như vậy.

Cho đến nay, tôi chưa thể tìm thấy bất kỳ công cụ tốt nào để làm phiền. Nhưng cả hai một mình làm cho nhiệm vụ giảm thiểu và nén tự động và dễ dàng hơn nhiều.

Các vấn đề liên quan