Loading…

के बारे में ऑनलाइन JavaScript मिनिफायर

सेकंडों में छोटे JavaScript बंडल शिप करें ⚡। यह ऑनलाइन JavaScript मिनिफायर आपके JS को AST में पार्स करता है, टिप्पणियाँ और अनावश्यक व्हाइटस्पेस हटाता है, और सुरक्षित कंप्रेशन पास लागू करता है। स्टैंडअलोन स्क्रिप्ट्स, क्विक फिक्सेस, टैग मैनेजर स्निपेट्स और प्री-डिप्लॉय चेक के लिए आदर्श। सब कुछ 100% क्लाइंट-साइड चलता है – आपका कोड ब्राउज़र कभी नहीं छोड़ता।

इस जावास्क्रिप्ट मिनिफायर की मुख्य विशेषताएं

  • तत्काल, ब्राउज़र में JS संपीड़न (सर्वर पर कोई फ़ाइल अपलोड नहीं)
  • टिप्पणियाँ हटाता है और अनावश्यक व्हाइटस्पेस/न्यूलाइन्स को संकुचित करता है
  • टर्सर के समान AST-आधारित संपीड़न (सुरक्षित स्थितियों में कॉन्स्टेंट फोल्डिंग, डेड-कोड रिमूवल)
  • वैकल्पिक आइडेंटिफायर मैंगलिंग और एपीआई या बिल्ड इंटीग्रेशन के माध्यम से उन्नत फ्लैग्स
  • आधुनिक जावास्क्रिप्ट (ES2015+), क्लासिक स्क्रिप्ट्स और सरल मॉड्यूल आउटपुट के साथ काम करता है
  • मिनिफाइड जावास्क्रिप्ट की वन-क्लिक कॉपी या डाउनलोड
  • जावास्क्रिप्ट फॉर्मेटर के समान कोर कंपोनेंट का उपयोग करता है: एक क्रिया से फॉर्मेटेड और मिनिफाइड आउटपुट के बीच स्विच करें
  • अधिकतम गोपनीयता के लिए 100% क्लाइंट-साइड प्रोसेसिंग

🛠️ जावास्क्रिप्ट को कैसे मिनिफाई करें for javascript-minifier

1

अपना JS पेस्ट या अपलोड करें

एडिटर में .js/.mjs फ़ाइल ड्रॉप करें या सीधे अपनी जावास्क्रिप्ट पेस्ट करें। यह टूल सिंगल स्क्रिप्ट्स, यूटिलिटी फ़ाइलों और छोटे बंडल्स के लिए आदर्श है।

2

मिनिफिकेशन मोड चुनें

जावास्क्रिप्ट फॉर्मेटर के समान कंपोनेंट का उपयोग करें: फॉर्मेटेड कोड के बजाय संपीड़ित आउटपुट प्राप्त करने के लिए मिनिफाई एक्शन पर स्विच करें।

3

मिनिफायर चलाएं

आपका कोड AST में पार्स किया जाता है, टिप्पणियाँ और अतिरिक्त व्हाइटस्पेस हटा दिए जाते हैं, और बंडल आकार कम करने के लिए सुरक्षित संपीड़न पास लागू किए जाते हैं।

4

परिणाम कॉपी या डाउनलोड करें

आउटपुट एडिटर से मिनिफाइड जावास्क्रिप्ट कॉपी करें या इसे .min.js फ़ाइल के रूप में डाउनलोड करें और अपने HTML, CDN या बिल्ड आउटपुट में शामिल करें।

तकनीकी विशिष्टताएं

कोर ट्रांसफॉर्मेशन्स (सुरक्षित डिफॉल्ट्स)

रूढ़िवादी डिफॉल्ट्स कोड आकार को महत्वपूर्ण रूप से कम करते हुए रनटाइम व्यवहार को संरक्षित करने के लिए डिज़ाइन किए गए हैं।

ऑपरेशनलागूटिप्पणियाँ
लाइन और ब्लॉक टिप्पणियाँ हटाएंलाइसेंस टिप्पणियाँ (/*! ... */) कॉन्फ़िगरेशन/एपीआई के माध्यम से संरक्षित की जा सकती हैं
व्हाइटस्पेस और न्यूलाइन्स को संक्षिप्त करेंव्हाइटस्पेस को सिमेंटिकली सुरक्षित जगहों पर सामान्यीकृत किया गया; स्ट्रिंग और रेजेक्स सामग्री संरक्षित
कॉन्स्टेंट फोल्डिंग और सरल इनलाइनिंगकेवल तब जब परिणाम सिद्ध रूप से समतुल्य हो
डेड-कोड एलिमिनेशनकॉन्स्टेंट प्रोपेगेशन के बाद अनुपलब्ध शाखाओं को हटाता है
आइडेंटिफायर मैंगलिंग✅ वैकल्पिकवेरिएबल और फंक्शन नामों को छोटा करता है; उन्नत विकल्पों/एपीआई के माध्यम से कॉन्फ़िगर करने योग्य
डिबगिंग हेल्पर्स हटाएं (console/debugger)✅ वैकल्पिकसक्षम किया जा सकता है जब आप प्रोडक्शन में कंसोल आउटपुट पर निर्भर नहीं होते

सुरक्षा और संगतता नियंत्रण

उन्नत विकल्प (मुख्य रूप से बिल्ड टूल्स/एपीआई के माध्यम से उजागर) मिनिफिकेशन कितना आक्रामक होना चाहिए, इसे ट्यून करने में मदद करते हैं।

विकल्पडिफ़ॉल्टव्याख्या
ecma लक्ष्य2020आउटपुट सिंटैक्स और कुछ कंप्रेस नियमों को नियंत्रित करता है
मॉड्यूल बनाम स्क्रिप्टस्क्रिप्टईएसएम बंडल्स के लिए मॉड्यूल/टॉपलेवल ऑप्टिमाइज़ेशन सक्षम करें
keep_fnames / keep_classnamesfalseबेहतर स्टैक ट्रेस या डीआई फ्रेमवर्क के लिए नाम संरक्षित करें
safari10 / लीगेसी क्विर्क्सoffकेवल तब सक्षम करें जब विशिष्ट लीगेसी इंजन को लक्षित कर रहे हों
toplevelfalseउन्नत ट्री-शेकिंग के लिए अनयूज्ड टॉप-लेवल बाइंडिंग्स को ड्रॉप करने की अनुमति देता है

विशिष्ट आकार कमी

बचत मूल फॉर्मेटिंग, टिप्पणी घनत्व और डेड कोड की मात्रा पर निर्भर करती है।

इनपुट शैलीकेवल कंप्रेससंपीड़न + मैंगल (आक्रामक)
भारी टिप्पणीयुक्त और रिक्त स्थान वाला35%–55%50%–70%
मध्यम रूप से स्वरूपित एप्लिकेशन कोड20%–35%35%–55%
पहले से संक्षिप्त कोड5%–15%10%–25%

प्रोडक्शन बिल्ड्स के लिए CLI विकल्प

पूर्ण एप्लिकेशन और मल्टी-फाइल प्रोजेक्ट्स के लिए, अपने CI/CD पाइपलाइन में मिनिफिकेशन को एकीकृत करें।

Node.js

Terser (सामान्य मामला)

npx terser src/app.js -o dist/app.min.js -c ecma=2020,passes=2 -m

मजबूत आकार कमी के लिए दो कंप्रेस पास प्लस आइडेंटिफायर मैंगलिंग।

आरक्षित नाम और drop_console के साथ Terser

npx terser src/app.js -o dist/app.min.js -c passes=2,drop_console=true -m reserved=["React","ReactDOM"] --keep-fnames

महत्वपूर्ण ग्लोबल्स को सुरक्षित रखें, कंसोल कॉल्स हटाएं, और डीबगिंग के लिए फंक्शन नाम रखें।

Linux/macOS/Windows

esbuild (बहुत तेज़)

npx esbuild src/app.js --minify --target=es2018 --outfile=dist/app.min.js

एक ही, अत्यंत तेज़ चरण में बंडल और मिनिफाई करें।

SWC (Rust-आधारित)

npx swc src -d dist --minify

उच्च-प्रदर्शन Rust इंजन के साथ ट्रांसपाइल और मिनिफाई करें।

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

वेब प्रदर्शन और कोर वेब वाइटल्स

  • तेज़ LCP और TTI के लिए जावास्क्रिप्ट ट्रांसफर आकार कम करें
  • डिप्लॉयमेंट से पहले डीबग टिप्पणियाँ और लॉगिंग ट्रिम करें
  • gzip/brotli कंप्रेशन से पहले क्लाइंट-साइड बंडल्स सिकोड़ें
/* बिल्ड-ओनली टिप्पणी जो मिनिफाइड आउटपुट में हटा दी जाएगी */

CI/CD और रिलीज़ ऑटोमेशन

  • अपने बिल्ड पाइपलाइन में अंतिम चरण के रूप में JS मिनिफाई करें
  • CDN के लिए छोटे, कैश-फ्रेंडली बंडल तैयार करें
  • HTML/CSS मिनिफायर्स के साथ प्रोडक्शन-रेडी एसेट्स जनरेट करें

विजेट्स, एम्बेड्स और प्रयोग

  • टैग मैनेजर के माध्यम से कॉम्पैक्ट स्निपेट भेजें
  • तीसरे पक्ष के पेजों में मिनीफाइड विजेट एम्बेड करें
  • महत्वपूर्ण स्क्रिप्ट्स पर विभिन्न कंप्रेस रणनीतियों के साथ प्रयोग करें

❓ Frequently Asked Questions

क्या जावास्क्रिप्ट को मिनीफाई करने से मेरा कोड चलने का तरीका बदल जाएगा?

सुरक्षित डिफॉल्ट के साथ, रनटाइम व्यवहार समान रहना चाहिए। आक्रामक विकल्प जैसे टॉपलेवल ऑप्टिमाइजेशन, आइडेंटिफायर मैंगलिंग, या कंसोल कॉल्स ड्रॉप करना व्यवहार को प्रभावित कर सकते हैं यदि आपका कोड नामों, साइड-इफेक्ट्स, या लॉगिंग पर निर्भर करता है। हमेशा एक अनमिनीफाइड संस्करण रखें और मिनीफाइड बिल्ड्स पर टेस्ट चलाएं।

क्या यह टूल सीधे TypeScript या JSX को हैंडल करता है?

मिनीफायर सादी जावास्क्रिप्ट को टारगेट करता है। TypeScript या JSX के लिए, पहले जावास्क्रिप्ट में ट्रांस्पाइल करें (SWC, esbuild या Babel के माध्यम से) और फिर जेनरेटेड JS कोड को मिनीफाई करें।

क्या मेरी जावास्क्रिप्ट सर्वर पर अपलोड की जाती है?

नहीं। सभी प्रोसेसिंग पूरी तरह से आपके ब्राउज़र में क्लाइंट-साइड कोड का उपयोग करके होती है। सोर्स कोड किसी भी रिमोट सर्वर पर नहीं भेजा जाता है, जो निजी/मालिकाना स्क्रिप्ट्स के लिए आदर्श है।

मेरी जावास्क्रिप्ट फाइल कितनी बड़ी हो सकती है?

स्मूथ ब्राउज़र UX के लिए, हम इस ऑनलाइन टूल में लगभग 1 MB तक की फाइलों की सलाह देते हैं। बड़े बंडल और बार-बार मिनीफिकेशन रन आपकी बिल्ड पाइपलाइन में इंटीग्रेटेड CLI टूल्स द्वारा बेहतर तरीके से हैंडल किए जाते हैं।

फॉर्मेटिंग और मिनीफाइंग में क्या अंतर है?

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

Pro Tips

Best Practice

अनेक लाइब्रेरीज़ में अतिरिक्त डेड-कोड प्रूनिंग अनलॉक करने के लिए अपने बंडलर में NODE_ENV=production (या समकक्ष) परिभाषित करें।

Best Practice

अनमिनीफाइड सोर्सेज (और, बड़े ऐप्स के लिए, सोर्स मैप्स) वर्जन कंट्रोल में रखें, और प्रोडक्शन में केवल मिनीफाइड एसेट्स सर्व करें।

Best Practice

विंडो या ग्लोबलथिस से जुड़े पब्लिक APIs की सुरक्षा के लिए मैंगलिंग करते समय आरक्षित नामों का उपयोग करें।

Best Practice

गुणात्मक आकार बचत प्राप्त करने के लिए मिनीफिकेशन को CDN या सर्वर स्तर पर gzip या brotli के साथ संयोजित करें।

Additional Resources

Other Tools