Nén mã JS / CSS / HTML API
Nén (minify) JavaScript bằng Terser, CSS bằng CSSO, HTML và JSON, kèm dung lượng và kích thước gzip trước, sau; tự nhận biết loại mã nguồn.
API minify thu nhỏ mã front-end trước khi đưa lên production. JavaScript được xử lý bằng Terser (nén hai lượt, đổi tên biến cục bộ, module=true cho ES module), CSS bằng CSSO (gộp quy tắc, rút gọn màu và giá trị, restructure=false để nén an toàn hơn), JSON được ghi lại không khoảng trắng, còn HTML bỏ comment, bỏ khoảng trắng giữa các thẻ khối và nén luôn các khối <script>, <style> bên trong.
Để trống type để API tự nhận biết loại mã, hoặc chỉ định js, css, html, json. Comment bản quyền (/*! … */, @license, @preserve) được giữ lại. Trong HTML, nội dung <pre> và <textarea> giữ nguyên, giữa các thẻ inline vẫn còn một dấu cách, và minify_js=false / minify_css=false để không nén mã nhúng.
Kết quả gồm mã đã nén và size: số byte đầu vào, đầu ra, phần trăm tiết kiệm và kích thước sau gzip, con số quyết định thời gian tải. Lỗi cú pháp trả về parse_error kèm dòng và cột.
Tham số
| Tên | Vị trí | Kiểu | Bắt buộc | Mặc định | |
|---|---|---|---|---|---|
code | body | string | có | Mã nguồn cần nén (tối đa 2.000.000 ký tự). | |
type | body|query | string | không | js, css, html hoặc json (mặc định: tự nhận biết). | |
mangle | body|query | boolean | không | true | JS: rút gọn tên biến cục bộ. |
module | body|query | boolean | không | false | JS: coi mã là ES module. |
restructure | body|query | boolean | không | true | CSS: gộp và sắp xếp lại quy tắc. |
minify_js | body|query | boolean | không | true | HTML: nén script nhúng. |
minify_css | body|query | boolean | không | true | HTML: nén <style> và style="". |
Ví dụ
curl -X POST "https://apibox.io.vn/v1/minify" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"function tinhTong(soThuNhat, soThuHai) {\n // cộng hai số\n const tong = soThuNhat + soThuHai;\n return tong;\n}\nconsole.log(tinhTong(1, 2));"}'const res = await fetch('https://apibox.io.vn/v1/minify', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"code": "function tinhTong(soThuNhat, soThuHai) {\n // cộng hai số\n const tong = soThuNhat + soThuHai;\n return tong;\n}\nconsole.log(tinhTong(1, 2));"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/minify",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"code": "function tinhTong(soThuNhat, soThuHai) {\n // cộng hai số\n const tong = soThuNhat + soThuHai;\n return tong;\n}\nconsole.log(tinhTong(1, 2));"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/minify');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"code":"function tinhTong(soThuNhat, soThuHai) {\\n // cộng hai số\\n const tong = soThuNhat + soThuHai;\\n return tong;\\n}\\nconsole.log(tinhTong(1, 2));"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Kết quả trả về
{
"type": "js",
"minified": "function tinhTong(n,o){return n+o}console.log(tinhTong(1,2));",
"size": {
"input": 144,
"output": 61,
"saved_percent": 57.6,
"gzip_input": 132,
"gzip_output": 74
}
}
Ứng dụng
- Nén tài nguyên trong bước build mà không cần cài công cụ
- Thu nhỏ template e-mail HTML, landing page
- Gọn JSON trước khi lưu hoặc gửi đi
- Đo xem file được lợi bao nhiêu khi minify và gzip
Hỏi đáp
Mã có bị thay đổi hành vi không?
Terser và CSSO chỉ áp dụng các biến đổi an toàn. Nếu script phụ thuộc vào tên hàm, hãy gửi mangle=false.
Có hỗ trợ TypeScript, SCSS không?
Không: hãy biên dịch sang JavaScript hoặc CSS trước rồi mới nén.
Giới hạn kích thước là bao nhiêu?
2.000.000 ký tự mã nguồn mỗi lần gọi.
API liên quan
Tạo UUID
Sinh tối đa 1.000 UUID v4, UUID v7 theo thời gian, ULID, Nano ID hoặc mã hex ngẫu nhiên mỗi request. Ngẫu nhiên an toàn, hỗ trợ chữ in hoa.
⏱Phân tích biểu thức cron
Kiểm tra biểu thức cron và xem các lần chạy tiếp theo theo múi giờ bất kỳ, kèm mô tả dễ hiểu. Hỗ trợ cú pháp cron 5, 6 và 7 trường.
🕒Giờ & múi giờ
Lấy giờ hiện tại ở mọi múi giờ, đổi giữa các múi giờ và Unix timestamp (giây hoặc mili giây), kèm độ lệch UTC và thứ trong tuần cho tối đa 30 múi giờ.