JavaScript मिनिफ़ायर

ब्राउज़र में चलता है फ़ॉर्मेटिंग

कमेंट और ग़ैर-ज़रूरी व्हाइटस्पेस हटाकर JavaScript का साइज़ घटाएँ, जबकि स्ट्रिंग, regex literal और ASI पर निर्भर संरचनाएँ सुरक्षित रहती हैं। साइज़ की बचत भी दिखती है।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

JavaScript मिनिफ़ायर कैसे इस्तेमाल करें

  1. JavaScript पेस्ट करें।
  2. तय करें कि license कमेंट (या सारे कमेंट) रखने हैं या नहीं।
  3. मिनिफ़ाइड स्क्रिप्ट कॉपी या डाउनलोड करें।

JavaScript मिनिफ़ायर की खूबियाँ

  • कमेंट और सारा ग़ैर-ज़रूरी व्हाइटस्पेस हटाता है
  • automatic semicolon insertion के लिए ज़रूरी लाइन ब्रेक बनाए रखता है
  • /*! license */ और @license/@preserve कमेंट रखता है (वैकल्पिक)
  • स्ट्रिंग, template literal और regex literal कभी नहीं बदले जाते
  • न नाम बदलना, न कोड ट्रांसफ़ॉर्मेशन — आउटपुट डीबग करने योग्य रहता है
  • मूल साइज़, मिनिफ़ाइड साइज़ और बचत दिखाता है

JavaScript मिनिफ़ायर का उदाहरण

एक helper फ़ंक्शन को मिनिफ़ाई करना

इनपुट:

// add numbers
function add(a, b) {
  return a + b;
}

आउटपुट:

function add(a,b){return a+b;}

JavaScript मिनिफ़ायर के बारे में अक्सर पूछे जाने वाले सवाल

यह Terser या esbuild से कैसे अलग है?

यह टूल सिर्फ़ व्हाइटस्पेस और कमेंट हटाता है; यह वेरिएबल के नाम नहीं बदलता, कॉन्स्टेंट इनलाइन नहीं करता और डेड कोड नहीं हटाता। इससे आउटपुट stack trace में पढ़ने योग्य रहता है और झटपट कॉपी-पेस्ट के लिए सुरक्षित होता है।

क्या आउटपुट automatic semicolon insertion के साथ सुरक्षित है?

हाँ। जहाँ लाइन ब्रेक हटाने से अर्थ बदल सकता है वहाँ वह बनाए रखा जाता है (जैसे ( या [ से शुरू होने वाली लाइन या template literal से पहले), इसलिए ASI पर निर्भर कोड चलता रहता है।

क्या मैं license हेडर रख सकता हूँ?

/*! से शुरू होने वाले या @license / @preserve वाले कमेंट डिफ़ॉल्ट रूप से रखे जाते हैं। उन्हें भी हटाने के लिए इस विकल्प से टिक हटा दें।

कितनी बचत की उम्मीद करें?

हाथ से लिखे कोड पर आमतौर पर 20–40%, ज़्यादातर इंडेंटेशन और कमेंट से। आँकड़े पैनल में ठीक-ठीक बचे हुए byte दिखते हैं।

तकनीकी नोट्स

सुरक्षित मिनिफ़ायर सिर्फ़ वही हटाता है जिससे अर्थ न बदले। दो identifier कैरेक्टर के बीच का व्हाइटस्पेस एक स्पेस रह जाता है, "+ +" और "- -" क्रम अपना स्पेस बनाए रखते हैं, और एक्सप्रेशन के अंत तथा अगले एक्सप्रेशन की शुरुआत के बीच (जैसे "(" या "[" से पहले) newline बनी रहती है ताकि ASI नियम लागू होते रहें।