फ्री JavaScript Minifier
यह फ्री JavaScript minifier आपके कोड से टिप्पणियाँ और अनावश्यक व्हाइटस्पेस हटाता है और पहले और बाद का आकार दिखाता है। यह स्ट्रिंग्स, टेम्पलेट लिटरल्स और रेगुलर एक्सप्रेशन को यूनिट के रूप में पढ़ता है इसलिए उनकी सामग्री कभी नहीं बदली जाती, और यह लाइन ब्रेक रखता है जो ऑटोमेटिक सेमिकोलन इंसर्शन को आवश्यकता हो सकती है। यह एक कंजरवेटिव व्हाइटस्पेस टूल है, पूरा कंपाइलर नहीं: यह वेरिएबल्स का नाम नहीं बदलता या कोड को फिर से नहीं लिखता।
JavaScript Minifier
Generators and Converters
इस टूल के बारे में
JavaScript अक्सर एक पेज का सबसे भारी हिस्सा होता है, और हर किलोबाइट को डाउनलोड, पार्स और रन करना पड़ता है। टिप्पणियाँ, इंडेंटेशन और खाली लाइनें हटाना सबसे सुरक्षित पहला कमी है, क्योंकि यह केवल उन वर्णों को बदलता है जिन्हें इंजन अनदेखा करता है।
यह टूल कोड के माध्यम से एक बार में एक टोकन चलता है। सिंगल-कोट, डबल-कोट और टेम्पलेट स्ट्रिंग्स जैसे हैं वैसे कॉपी की जाती हैं, रेगुलर एक्सप्रेशन लिटरल्स उनसे पहले के टोकन से पहचाने जाते हैं, और एक स्पेस तभी रखा जाता है जब इसे हटाने से दो शब्द या दो प्लस या माइनस साइन जुड़ जाएँ। लाइन ब्रेक रखे जाते हैं जहाँ कोड ऑटोमेटिक सेमिकोलन इंसर्शन पर निर्भर हो सकता है, इसलिए बिना सेमिकोलन लिखा गया कोड अभी भी समान व्यवहार करता है।
कृपया सीमाएँ पढ़ें: यह एक पूरा कंपाइलर नहीं है। यह वेरिएबल नामों को छोटा नहीं करता, डेड कोड नहीं हटाता या भाषा के हर किनारे को नहीं समझता, इसलिए बहुत असामान्य कोड को minify करने के बाद हमेशा परीक्षण किया जाना चाहिए। प्रोडक्शन बंडल्स के लिए, Terser जैसे बिल्ड टूल का उपयोग करें और इस पेज को स्निपेट्स और छोटी स्क्रिप्ट्स के लिए एक त्वरित सहायक के रूप में मानें। आप जो कुछ भी पेस्ट करते हैं वह स्टोर नहीं किया जाता।
अक्सर पूछे जाने वाले सवाल
क्या यह एक पूरा JavaScript कंपाइलर है?
नहीं। यह केवल टिप्पणियाँ और व्हाइटस्पेस हटाता है, और यह वेरिएबल्स का नाम नहीं बदलता, अप्रयुक्त कोड नहीं हटाता या आधुनिक सिंटैक्स को ट्रांसपाइल नहीं करता। यह आउटपुट को अनुमानित रखता है। प्रोडक्शन बंडल के लिए, Terser या esbuild जैसे बिल्ड टूल का उपयोग करें, जो नामों को भी छोटा कर सकते हैं।
कुछ लाइन ब्रेक क्यों रखे जाते हैं?
JavaScript लाइन के अंत में स्वचालित रूप से सेमिकोलन डाल सकता है, इसलिए हर लाइन ब्रेक को हटाने से दो स्टेटमेंट्स जुड़ सकते हैं और कोड क्या करता है यह बदल सकता है। minifier हर जगह लाइन ब्रेक रखता है जहाँ इसे हटाना स्पष्ट रूप से सुरक्षित नहीं है, जो कुछ बाइट्स खर्च करता है लेकिन बग से बचाता है।
क्या यह रेगुलर एक्सप्रेशन या स्ट्रिंग्स को तोड़ेगा?
यह कोटेड स्ट्रिंग्स, टेम्पलेट लिटरल्स और रेगुलर एक्सप्रेशन लिटरल्स को यूनिट्स के रूप में मानता है और उन्हें बिल्कुल कॉपी करता है। एक स्लैश को रेगुलर एक्सप्रेशन के रूप में पढ़ा जाता है जब यह ऑपरेटर या ओपनिंग ब्रैकेट के बाद आता है, और वैल्यू के बाद डिवीजन के रूप में। यदि आपका कोड असामान्य पैटर्न का उपयोग करता है तो परिणाम का एक बार परीक्षण करें।
मेरी स्क्रिप्ट कितनी छोटी होगी?
अच्छी तरह से टिप्पणीबद्ध, सुंदर इंडेंटेड कोड एक तिहाई या उससे अधिक तक सिकुड़ सकता है, जबकि पहले से कॉम्पैक्ट कोड बहुत कम सिकुड़ता है। परिणाम पैनल पहले और बाद में सटीक बाइट्स दिखाता है, इसलिए आप अपनी स्क्रिप्ट के लिए बचत का आकलन कर सकते हैं।

