2012-04-23 35 views
11

Tôi đã sử dụng bộ nén YUI để giảm thiểu các tệp JS. Tôi có mã này:Máy nén YUI và gợi ý "sử dụng nghiêm ngặt"

(function(global) { 
    "use strict"; 

    var X=1; 

    /*** my code here ***/ 

}(window)); 

Và tôi nén nó bằng lệnh này:

$> java -jar yuicompressor-2.4.7.jar test.js -o test.min.js --verbose 

Các "sử dụng nghiêm ngặt" gợi ý là không có mặt trong các tập tin đầu ra nén. Dường như YUI xóa tất cả các gợi ý. Và nó ra cảnh báo này:

[WARNING] Invalid hint syntax: use strict 
(function(global){ ---> "use strict" <--- ;var X=1;... 

Mặc dù, mã của tôi hoạt động tốt sau khi nén, tôi muốn biết nếu có một cuộc tranh cãi để YUICompressor để bảo tồn các gợi ý và/hoặc một cách để tránh cảnh báo đó.

Bạn có lời khuyên nào không? Cảm ơn.

+0

Bạn có nghĩa là ngoài việc viết mã nghiêm ngặt mà không cần động cơ đúng không? –

+0

wow, nó thực sự trông giống như YUI dải đi những gợi ý văn bản và do đó, tự động loại bỏ bất kỳ chế độ nghiêm ngặt. – jAndy

+0

Truy cập yuilibrary.com và gửi một vé cho máy nén. –

Trả lời

3

Có thể tìm thấy giải thích một phần here. Mặc dù câu hỏi đó là về trình biên dịch đóng cửa câu trả lời cung cấp cho bạn một gợi ý (như Google cũng đã có vấn đề này). Trong phần Đóng, bạn có thể sử dụng --language_in=ECMASCRIPT5_STRICT

Thật không may cho đến nay vẫn chưa có điều gì cho Máy nén YUI. Ít nhất tôi không thể tìm thấy bất cứ điều gì như thế.

+0

Lưu ý rằng JSLint thích mẫu chức năng 'sử dụng nghiêm ngặt' nhưng Closure loại bỏ biểu mẫu hàm và thêm nó vào đầu tệp. Vì vậy, vẫn không phải là một giải pháp đúng. –

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