Công cụ rút gọn JavaScript
Rút gọn JavaScript bằng Terser: xóa khoảng trắng và chú thích, rút ngắn tên biến cục bộ và áp dụng các phép nén an toàn. Chạy ngay trong trình duyệt.
Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.
Công cụ Liên quan
Xem Tất cảRút gọn JavaScript là gì?
Công cụ rút gọn JavaScript nén JavaScript hiện đại (ES2015+) bằng Terser, bộ rút gọn được webpack và Vite sử dụng. Nó xóa khoảng trắng và chú thích, đổi tên biến cục bộ thành tên ngắn và đơn giản hóa biểu thức.
Cách sử dụng Rút gọn JavaScript
- Dán JavaScript vào ô nhập.
- Bấm Rút gọn (kết quả cũng cập nhật khi bạn gõ).
- Xem dòng kích thước bên dưới kết quả.
- Sao chép hoặc tải xuống mã đã rút gọn.
Ví dụ
function add(first, second) {
return first + second;
}
console.log(add(1, 2)); function add(d,n){return d+n}console.log(add(1,2)); Khi nào nên dùng Rút gọn JavaScript
Dùng cho script nhỏ, bookmarklet, khối <script> nội tuyến hoặc để kiểm tra nhanh kích thước. Với ứng dụng, hãy để bundler rút gọn kèm source map. Công cụ không biên dịch TypeScript hay JSX – hãy loại bỏ kiểu dữ liệu trước.
Rút gọn JavaScript hoạt động như thế nào
Mã được rút gọn bằng terser.minify với compress và mangle được bật, mọi chú thích bị xóa. Terser phân tích thành AST, nội tuyến hằng số, xóa mã chết và biến không dùng trong phạm vi cục bộ, đồng thời đổi tên định danh cục bộ trong hàm. Tên ở cấp cao nhất không bị đổi, nên hàm toàn cục giữ nguyên tên. Lỗi cú pháp được báo kèm dòng và cột.
Các Trường Hợp Sử Dụng Phổ Biến
- Rút gọn một script độc lập cho site tĩnh
- Tạo bookmarklet gọn nhẹ
- Kiểm tra một hàm thư viện có thể nhỏ đến mức nào
- Xóa chú thích trước khi nhúng mã
Lưu Ý Bảo Mật
Mọi thứ chạy cục bộ trong trình duyệt của bạn; đoạn mã bạn dán vào không được tải lên đâu cả.
Câu Hỏi Thường Gặp
Vì sao tên biến cấp cao nhất không được rút ngắn?
Tên ở cấp cao nhất có thể được script khác sử dụng, nên mặc định Terser giữ nguyên chúng.
Công cụ có hỗ trợ TypeScript hoặc JSX không?
Không, đầu vào phải là JavaScript thuần.
Có tạo source map không?
Không; hãy dùng công cụ build của bạn khi cần source map.