यह क्या करता है
मिनिफ़िकेशन वह सब हटा देता है जिसकी ब्राउज़र को आपका कोड चलाने के लिए ज़रूरत नहीं होती: व्हाइटस्पेस, लाइन ब्रेक, कमेंट और लंबे नाम। छोटी फ़ाइलें तेज़ी से डाउनलोड होती हैं, जिससे पेज लोड टाइम और Core Web Vitals बेहतर होते हैं, ख़ासकर मोबाइल नेटवर्क पर।
यह टूल JavaScript को Terser से मिनिफ़ाई करता है, वही मिनिफ़ायर जो webpack, Rollup और Vite इस्तेमाल करते हैं, और CSS को CSSO से, जो स्टाइलशीट को रीस्ट्रक्चर भी करता है: यह रंगों को छोटा करता है (#ffffff से #fff), फ़ालतू इकाइयाँ और वैल्यू हटाता है (0px 0px से 0), और एक जैसे selectors या डिक्लेरेशन वाले नियमों को मर्ज करता है।
कैसे इस्तेमाल करें
- कोड को इनपुट बॉक्स में पेस्ट करें, उस पर
.jsया.cssफ़ाइल ड्रॉप करें, या उदाहरण पर क्लिक करें। - JavaScript या CSS चुनें।
- JavaScript के लिए, वेरिएबल नाम छोटे करें लोकल वेरिएबल और पैरामीटर का नाम एक अक्षर कर देता है। एक्सपोर्ट किए गए और ग्लोबल नाम कभी नहीं बदले जाते।
- CSS के लिए, डुप्लिकेट नियम मर्ज करें एक जैसे डिक्लेरेशन वाले नियमों को जोड़ देता है।
- परिणाम कॉपी या डाउनलोड करें। हर बॉक्स के नीचे के साइज़ काउंटर दिखाते हैं कि आपने कितना बचाया।
अगर JavaScript में सिंटैक्स एरर है, तो एरर मैसेज लाइन और कॉलम दिखाता है ताकि आप वहाँ सीधे पहुँच सकें।
उदाहरण
// Sum the price of every item
export function cartTotal(items, discountPercent = 0) {
const subtotal = items.reduce(function (sum, item) {
return sum + item.price * item.quantity
}, 0)
return subtotal * (1 - discountPercent / 100)
}
बन जाता है
export function cartTotal(t,r=0){return t.reduce(function(t,r){return t+r.price*r.quantity},0)*(1-r/100)}
इसे कब इस्तेमाल करें
इसे किसी तेज़, एक बार के काम के लिए इस्तेमाल करें: CDN के लिए स्निपेट, HTML ईमेल में इनलाइन स्क्रिप्ट, bookmarklet, या यह देखने के लिए कि कोई लाइब्रेरी कितनी छोटी हो सकती है। असली प्रोजेक्ट में, आपके bundler को हर build पर मिनिफ़ाई करना चाहिए ताकि सोर्स पढ़ने लायक बना रहे।
अक्सर पूछे जाने वाले सवाल
› क्या मेरा कोड कहीं अपलोड होता है?
नहीं। Terser और CSSO आपके ब्राउज़र के अंदर चलते हैं, इसलिए प्रोप्राइटरी सोर्स कोड कभी आपके डिवाइस से बाहर नहीं जाता।
› क्या मिनिफ़िकेशन मेरा JavaScript तोड़ देगा?
Terser सिर्फ़ वही बदलाव करता है जो वैलिड कोड का व्यवहार वैसा ही रखते हैं। जो कोड रनटाइम पर फ़ंक्शन या वेरिएबल के नामों पर निर्भर करता है (जैसे Function.name के ज़रिए), उस पर नाम छोटे करने का असर पड़ सकता है; ऐसे में "वेरिएबल नाम छोटे करें" बंद कर दें।
› CSS के लिए "डुप्लिकेट नियम मर्ज करें" वैकल्पिक क्यों है?
मर्ज करने से डिक्लेरेशन नियमों के बीच खिसकते हैं। लगभग हर स्टाइलशीट में यह सुरक्षित है, लेकिन अगर आपकी CSS बराबर specificity वाले नियमों के सटीक क्रम पर निर्भर करती है, तो इसे बंद करने से मूल क्रम की गारंटी रहती है।
› कौन-से कमेंट रखे जाते हैं?
"लाइसेंस कमेंट रखें" चालू होने पर, /*! से शुरू होने वाले या @license या @preserve वाले कमेंट बने रहते हैं, जैसा ज़्यादातर ओपन सोर्स लाइसेंस माँगते हैं। बाकी सभी कमेंट हटा दिए जाते हैं।