मुफ्त कनवर्टर

JavaScript मिनिफायर

अपने ब्राउज़र में तुरंत JavaScript कोड को मिनिफाई और संपीड़ित करें। टिप्पणियाँ हटाएं, व्हाइटस्पेस हटाएं और फ़ाइल साइज़ कम करें। मुफ़्त और निजी।

JS फ़ाइल यहाँ खींचें और छोड़ें

.js फ़ाइलें समर्थित। या ऊपर अपना JavaScript पेस्ट करें।

या

इस टूल के बारे में

जावास्क्रिप्ट लघुकरण अनावश्यक वर्णों को हटाकर और (उचित मिनीफायर के साथ) स्थानीय चर को छोटे नामों में बदलकर स्रोत कोड के आकार को कम कर देता है। पहली श्रेणी - रिक्त स्थान और टिप्पणी हटाना - सीधी और जोखिम-मुक्त है। दूसरा - वेरिएबल नाम बदलना - स्कोप नियमों को समझने की आवश्यकता है और टेर्सर और एस्बिल्ड जैसे उत्पादन मिनीफ़ायर सबसे अच्छा काम करते हैं।

यह उपकरण सुरक्षित लघुकरण पर केंद्रित है: टिप्पणियाँ अलग करना, रिक्त स्थान को संक्षिप्त करना, अनावश्यक अर्धविराम हटाना और स्पष्ट पैटर्न को छोटा करना। परिवर्तनीय नामकरण रूढ़िवादी है - केवल स्पष्ट दायरे में स्थानीय चर को छुआ जाता है, और बाहरी रूप से संदर्भित नामों को अकेला छोड़ दिया जाता है। परिणाम कार्यात्मक रूप से स्रोत के समान है।

उत्पादन-ग्रेड लघुकरण के लिए, समर्पित उपकरण (टेर्सर, ईएसबिल्ड, एससीसी) पूर्ण ईसीएमएस्क्रिप्ट स्कोप मॉडल को समझते हैं और काफी छोटे आउटपुट का उत्पादन करते हैं। जब पूर्ण बिल्ड सेटअप उपलब्ध नहीं होता है तो यह टूल त्वरित ब्राउज़र-साइड लघुकरण के लिए है।

जावास्क्रिप्ट को छोटा क्यों करें?

जावास्क्रिप्ट बंडल आम तौर पर आधुनिक वेबपेज पर सबसे बड़ा एकल संसाधन होते हैं। न्यूनतमकरण नियमित रूप से असंतृप्त स्रोत की तुलना में 30-60% आकार में कमी उत्पन्न करता है। जीज़िप या ब्रॉटली के साथ संयोजन में, कमी कुछ हद तक कम हो जाती है, लेकिन संयोजन अभी भी मापने योग्य बाइट्स बचाता है - विशेष रूप से धीमे कनेक्शन वाले उपयोगकर्ताओं के लिए।

तेज़ जावास्क्रिप्ट का अर्थ इंटरएक्टिव के लिए तेज़ समय भी है। छोटी स्क्रिप्ट तेजी से डाउनलोड होती हैं, तेजी से पार्स होती हैं और जल्दी निष्पादित होती हैं। उन साइटों के लिए जहां टीटीआई बाउंस दरों और एसईओ रैंकिंग को प्रभावित करता है, न्यूनतमकरण उपलब्ध सबसे सस्ती जीतों में से एक है।

कैसे उपयोग करें

जावास्क्रिप्ट चिपकाएँ, छोटा संस्करण प्राप्त करें।

  1. जावास्क्रिप्ट इनपुट जोड़ें: स्रोत को इनपुट क्षेत्र में चिपकाएँ या एक .js फ़ाइल छोड़ें। मिनिफ़ायर आधुनिक जावास्क्रिप्ट (ES2015+) को स्वीकार करता है जिसमें एरो फ़ंक्शंस, टेम्पलेट शाब्दिक, कक्षाएं और मॉड्यूल शामिल हैं।
  2. विकल्प चुनें: डिफ़ॉल्ट रूप से टिप्पणियाँ छीन ली जाती हैं और रिक्त स्थान को संक्षिप्त कर दिया जाता है। स्थानीय चर का नामकरण रूढ़िवादी है; यदि आपको अधिकतम संपीड़न की आवश्यकता है तो अधिक आक्रामक नामकरण सक्षम करें।
  3. छोटा करें: मिनिफ़ायर स्रोत को पार्स करता है, रिक्त स्थान और टिप्पणियों को हटाता है, और कॉम्पैक्ट आउटपुट उत्सर्जित करता है। स्रोत में सिंटैक्स त्रुटियाँ स्पष्ट त्रुटि संदेश उत्पन्न करती हैं।
  4. आउटपुट का उपयोग करें: उत्पादन में अपने स्क्रिप्ट स्रोत को बदलें। पूर्ण अनुकूलन के लिए, एक बंडलर के साथ युग्मित करें जो ट्री-शेकिंग और डेड कोड उन्मूलन को संभालता है।

सामान्य उपयोग के मामले

टेक्निकल डिटेल

मिनिफ़ायर एक पार्सर का उपयोग करके जावास्क्रिप्ट को टोकननाइज़ करता है जो ECMAScript सिंटैक्स का सम्मान करता है। /* से चिह्नित लाइसेंस टिप्पणियों को छोड़कर टिप्पणियाँ (एकल-पंक्ति और बहु-पंक्ति) हटा दी जाती हैं! उपसर्ग. जहां वाक्यात्मक रूप से आवश्यक हो (पहचानकर्ताओं के बीच, कीवर्ड के बाद) को छोड़कर व्हाइटस्पेस को ढहा दिया गया है।

रूढ़िवादी चर का नामकरण सीधे दायरे में स्थानीय चर को छोटा कर देता है। वैश्विक, निर्यात और आयातित नामों का नाम नहीं बदला गया है - इससे बाहरी संदर्भ टूट जाएंगे। गहन नामकरण के लिए, उचित मॉड्यूल-जागरूक विश्लेषण के साथ टेर्सर या ईएसबिल्ड का उपयोग करें।

किनारे के मामले: स्वचालित अर्धविराम प्रविष्टि (एएसआई) का मतलब है कि कार्यक्रम के व्यवहार में बदलाव से बचने के लिए मिनीफायर को कुछ संदर्भों में नई लाइनें संरक्षित करनी होंगी। टेम्प्लेट शाब्दिक, रेगेक्स शाब्दिक और JSX (यदि इनपुट में यह शामिल है) बिल्कुल संरक्षित हैं क्योंकि उनकी सामग्री संपीड़ित करने के लिए सुरक्षित नहीं हो सकती है।

सर्वोत्तम प्रथाएँ

अक्सर पूछे जाने वाले प्रश्न

क्या लघुकरण से मेरे कोड के काम करने का तरीका बदल जाता है?
नहीं, न्यूनतमकरण रिक्त स्थान और टिप्पणियों को हटा देता है, जो निष्पादन को प्रभावित नहीं करता है। वेरिएबल शॉर्टिंग (मैंगलिंग) स्थानीय वेरिएबल्स का नाम बदल देता है लेकिन व्यवहार को संरक्षित रखता है। वैश्विक चर और निर्यातित नाम बरकरार रखे गए हैं।
क्या मुझे विकास या उत्पादन में कमी लानी चाहिए?
उत्पादन में केवल मिनिफाइड कोड का उपयोग करें। विकास के दौरान, मूल पठनीय कोड रखें। अधिकांश बिल्ड टूल (वेबपैक, वाइट, एस्बिल्ड) उत्पादन निर्माण प्रक्रिया के हिस्से के रूप में स्वचालित रूप से न्यूनतमकरण को संभालते हैं।
लघुकरण और अस्पष्टीकरण के बीच क्या अंतर है?
स्वरूपित होने पर कोड को कार्यात्मक रूप से पठनीय रखते हुए न्यूनतमकरण आकार को कम कर देता है। जानबूझकर अस्पष्टता से कोड को समझना मुश्किल हो जाता है (स्ट्रिंग एन्कोडिंग, नियंत्रण प्रवाह फ़्लैटनिंग)। यह उपकरण आकार घटाने पर ध्यान केंद्रित करता है, अस्पष्टता पर नहीं।
मुझे आकार में कितनी कमी की उम्मीद करनी चाहिए?
आमतौर पर gzip से पहले 30-60%। लंबे वेरिएबल नामों के साथ अच्छी तरह से टिप्पणी किए गए कोड में सबसे बड़ी कटौती देखी गई है। जीज़िप संपीड़न के साथ संयुक्त, जावास्क्रिप्ट फ़ाइलें अक्सर मूल स्रोत से 80-90% छोटी होती हैं।
क्या मेरा कोड किसी सर्वर पर अपलोड किया गया है?
नहीं, मिनिफ़ायर आपके ब्राउज़र में चलता है।
मेरी जावास्क्रिप्ट कितनी छोटी होगी?
आमतौर पर 30-60% की कमी। लंबे पहचानकर्ताओं के साथ परिवर्तनीय-भारी कोड अधिक संपीड़ित होता है; अभिव्यक्ति-भारी कोड कम संपीड़ित होता है।
क्या मुझे हाथ से छोटा करना चाहिए?
कभी नहीं। स्रोत में पठनीय जावास्क्रिप्ट बनाए रखें। निर्माण चरण के रूप में या परिनियोजन के भाग के रूप में लघुकरण चलाएँ।
क्या यह टाइपस्क्रिप्ट पर काम करता है?
टाइपस्क्रिप्ट को पहले tsc या esbuild का उपयोग करके जावास्क्रिप्ट में संकलित करने की आवश्यकता है। एक बार संकलित होने के बाद, परिणामी जावास्क्रिप्ट को छोटा किया जा सकता है।