UTILS.
100% ब्राउज़र में
🗜️

JavaScript मिनिफ़ायर

कमेंट्स और अनावश्यक व्हाइटस्पेस हटाकर JavaScript को छोटा करें, जबकि स्ट्रिंग्स, टेम्पलेट लिटरल्स, और regex को सुरक्षित रूप से संरक्षित रखें — आपके ब्राउज़र में स्थानीय रूप से चलता है।

— आउटपुट यहाँ दिखेगा —

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

JavaScript मिनिफ़ायर कमेंट्स हटाकर और अनावश्यक व्हाइटस्पेस तथा newlines को समेटकर स्क्रिप्ट का आकार कम करता है, फिर बाइट बचत की रिपोर्ट करता है। यह किसी छोटी स्क्रिप्ट या स्निपेट को आकार-संवेदनशील जगह पर पेस्ट करने से पहले छोटा करने का एक तेज़, dependency-मुक्त तरीका है। सारी प्रोसेसिंग स्थानीय है — कोड को विशुद्ध रूप से टेक्स्ट के रूप में माना जाता है और कभी निष्पादित नहीं होता, इसलिए कोई eval नहीं और कुछ भी अपलोड नहीं होता।

यह एक conservative, टोकन-सचेत मिनिफ़ायर है। यह स्रोत को टोकनों में स्कैन करता है, स्ट्रिंग्स, टेम्पलेट लिटरल्स, रेगुलर एक्सप्रेशन्स, और कमेंट्स के अंदरूनी हिस्सों को सही ढंग से पार करता है, इसलिए उनकी सामग्री बाइट-दर-बाइट संरक्षित रहती है। कमेंट्स हटा दिए जाते हैं (या टॉगल के माध्यम से रखे जाते हैं), और व्हाइटस्पेस के क्रम हर जगह हटा दिए जाते हैं सिवाय वहाँ जहाँ एक स्पेस वास्तव में आवश्यक है — दो identifier/number/keyword टोकनों के बीच (ताकि 'return a' कभी 'returna' न बने) या दो ऑपरेटर वर्णों के बीच जो अन्यथा जुड़ जाते (ताकि 'a + +b' अपना स्पेस रखे)। कीवर्ड के बाद आने वाला regex लिटरल भी अपना अलग करने वाला स्पेस रखता है।

चूँकि यह अमूर्त सिंटैक्स ट्री पुनर्निर्मित नहीं करता, यह वेरिएबल्स का नाम नहीं बदलता या dead-code उन्मूलन नहीं करता — यह केवल वही हटाता है जो हटाना सिद्ध रूप से सुरक्षित है। यह newlines को भी समेटता है, इसलिए ऐसा कोड जो लाइन ब्रेक्स पर स्वचालित सेमीकोलन इंसर्शन पर निर्भर करता है, उसे पहले से ही स्पष्ट सेमीकोलन का उपयोग करना चाहिए। पैनल मूल आकार, मिनिफ़ाइड आकार, और बचाया गया प्रतिशत दिखाता है।

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

क्या यह वेरिएबल्स का नाम बदलता है या लॉजिक को कम्प्रेस करता है?
नहीं। यह एक conservative व्हाइटस्पेस-और-कमेंट मिनिफ़ायर है, पूर्ण कम्प्रेसर नहीं। यह वेरिएबल नामों को मैंगल नहीं करता, कॉन्स्टेंट्स को fold नहीं करता, या dead code नहीं हटाता — यह केवल कमेंट्स और गैर-आवश्यक व्हाइटस्पेस हटाता है, इसलिए आउटपुट स्रोत के विरुद्ध diff करना आसान रहता है।
क्या मेरी स्ट्रिंग्स और regex सुरक्षित हैं?
हाँ। मिनिफ़ायर स्रोत को टोकनाइज़ करता है और स्ट्रिंग्स, टेम्पलेट लिटरल्स, और रेगुलर एक्सप्रेशन्स के अंदरूनी हिस्सों को ठीक-ठीक संरक्षित करता है। उनके अंदर के स्पेस और कमेंट-जैसे टेक्स्ट को कभी छुआ नहीं जाता, इसलिए मिनिफ़ाइड कोड समान रूप से व्यवहार करता है।
क्या मिनिफ़ाई करना मेरा कोड तोड़ सकता है?
यह newlines को समेटता है, इसलिए ऐसी स्क्रिप्ट्स जो लाइन ब्रेक्स पर स्वचालित सेमीकोलन इंसर्शन पर निर्भर करती हैं, अर्थ बदल सकती हैं। यदि आपका कोड पहले से ही स्पष्ट सेमीकोलन का उपयोग करता है — जैसा अधिकांश करते हैं — तो आउटपुट समतुल्य है। संदेह होने पर, मिनिफ़ाइड परिणाम का परीक्षण करें।
आकार की संख्याओं का क्या अर्थ है?
मिनिफ़ाई करने के बाद, टूल मूल और मिनिफ़ाइड स्रोत को UTF-8 बाइट्स में मापता है और दोनों तथा प्रतिशत कमी दिखाता है, ताकि आप ठीक-ठीक देख सकें कि स्क्रिप्ट कितनी छोटी हुई।

और टूल