Có một công cụ khai thác JavaScript tốt? [đóng cửa]


132

Bạn đề xuất công cụ khai thác JavaScript nào?



Mặc dù câu hỏi đã cũ và đã đóng, nhưng vào năm 2019 - terser ( github.com/terser-js/terser ) là một công cụ khai thác tốt. Ngoài ra còn có một plugin cho Rollup, rất phù hợp để giảm thiểu các gói khi đang di chuyển.
Levi Roberts

Câu trả lời:


111

UglifyJS2 , được sử dụng bởi dự án jQuery.


17
Bạn có thể sử dụng UglifyJS trực tuyến mà không cần cài đặt nó - jscompress.com . +1 cho sản phẩm được sử dụng bởi jQuery
TMS

1
nó được sử dụng nhiều hơn đóng cửa?
FutuToad

@FutuToad: Phiên bản hiện tại là UglifyJS2 . Tôi đang tìm kiếm một so sánh các công cụ khai thác và tôi đã tìm thấy số liệu thống kê ở đây lisperator.net/uglifyjs - có vẻ như Google Đóng chậm hơn UglifyJS. Tuy nhiên, đóng cửa có thể giảm thiểu các dự án AngularJS. Vì vậy, không có người chiến thắng rõ ràng. Tôi đoán là (sau một giờ nghiên cứu dài) rằng UglifyJS2 được sử dụng nhiều hơn so với GC.
Martin Vseticka

PS: Bạn có thể thử Minify JS dựa trên UglifyJS2 và mã nguồn của bạn sẽ không được gửi đến máy chủ từ xa. ;)
Martin Vseticka

UglifyJS có hỗ trợ es6 không? tất cả các công cụ tôi đã tìm thấy lỗi ném vì tôi sử dụng nhiều chức năng es6 trong các tệp của mình.
kinger6621

31

Hoạt động

Không dùng nữa


Trình biên dịch đóng cửa của Google thường đạt được các tệp nhỏ hơn Trình nén YUI, đặc biệt nếu bạn sử dụng chế độ nâng cao, trông có vẻ đáng lo ngại đối với tôi nhưng đã hoạt động tốt trên một dự án tôi đã sử dụng:

Một số dự án lớn sử dụng UglifyJS và tôi đã rất ấn tượng với nó kể từ khi chuyển đổi.


2
Chế độ đơn giản của Google CC cũng đạt được kích thước nhỏ hơn YUI và nó cũng an toàn
gblazex

10

Nếu bạn đang sử dụng PHP, bạn cũng có thể muốn xem minify có thể thu nhỏ và kết hợp các tệp JavaScript. Việc tích hợp khá dễ dàng và có thể được thực hiện bởi các nhóm tệp được xác định hoặc một chuỗi truy vấn dễ dàng. Các tệp được thu nhỏ cũng được lưu trong bộ nhớ cache để giảm tải máy chủ và bạn có thể thêm các tiêu đề hết hạn thông qua thu nhỏ.


10

Công cụ khai thác JavaScript cung cấp một API tốt mà bạn có thể sử dụng theo chương trình:

curl -X POST -s --data-urlencode 'input=$(function() { alert("Hello, World!"); });' http://javascript-minifier.com/raw

Hoặc bằng cách tải lên một tệp và chuyển hướng đến một tệp mới:

curl -X POST -s --data-urlencode 'input@ready.js' http://javascript-minifier.com/raw > ready.min.js

Mong rằng sẽ giúp.


9

Có một số bạn có thể sử dụng / thử:


1
Hypercrunching là gì? Đây là những gì tôi có về chủ đề này: ajaxmin.codeplex.com/discussions/260683
Ehtesh Choudhury

1
@EhteshChoudhury Điều đó có nghĩa là công cụ khai thác thậm chí còn tích cực hơn về nó. Nó lấy ra mã không sử dụng và rút ngắn tên của các biến cục bộ.
Kris van der Mast




Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.