இலவச மாற்றி

ஜாவாஸ்கிரிப்ட் மினிஃபையர்

உங்கள் உலாவியில் உடனடியாக ஜாவாஸ்கிரிப்ட் குறியீட்டை சிறிதாக்கி சுருக்கவும். கருத்துகளை அகற்றவும், இடைவெளியை சுருக்கவும் மற்றும் கோப்பு அளவைக் குறைக்கவும். இலவசம் மற்றும் தனிப்பட்டது.

ஒரு JS கோப்பை இங்கே இழுத்து விடுங்கள்

.js கோப்புகளை ஆதரிக்கிறது. அல்லது உங்கள் ஜாவாஸ்கிரிப்டை மேலே ஒட்டவும்.

அல்லது

இந்த கருவி பற்றி

ஜாவாஸ்கிரிப்ட் மினிஃபிகேஷன், தேவையற்ற எழுத்துக்களை நீக்கி மூலக் குறியீட்டின் அளவைக் குறைக்கிறது மற்றும் (சரியான மினிஃபையர்களுடன்) உள்ளூர் மாறிகளை குறுகிய பெயர்களுக்கு மறுபெயரிடுகிறது. முதல் வகை - இடைவெளி மற்றும் கருத்து அகற்றுதல் - நேரடியானது மற்றும் ஆபத்து இல்லாதது. இரண்டாவது - மாறி மறுபெயரிடுதல் - நோக்கம் விதிகளைப் புரிந்து கொள்ள வேண்டும் மற்றும் டெர்சர் மற்றும் எஸ்பில்ட் போன்ற உற்பத்தி மினிஃபையர்கள் சிறப்பாகச் செயல்படுகின்றன.

இந்த கருவி பாதுகாப்பான சிறுமைப்படுத்தலில் கவனம் செலுத்துகிறது: கருத்துகளை அகற்றுதல், இடைவெளியை சரிசெய்தல், தேவையற்ற அரைப்புள்ளிகளை அகற்றுதல் மற்றும் வெளிப்படையான வடிவங்களை சுருக்குதல். மாறி மறுபெயரிடுதல் பழமைவாதமானது - தெளிவான நோக்கங்களில் உள்ள உள்ளூர் மாறிகள் மட்டுமே தொடப்படுகின்றன, மேலும் வெளிப்புறமாக குறிப்பிடப்பட்ட பெயர்கள் தனியாக விடப்படுகின்றன. முடிவு செயல்பாட்டு ரீதியாக மூலத்திற்கு ஒத்ததாக இருக்கும்.

உற்பத்தி-தரக் குறைப்புக்காக, பிரத்யேக கருவிகள் (Terser, esbuild, swc) முழு ECMAScript ஸ்கோப் மாடலைப் புரிந்துகொண்டு கணிசமாக சிறிய வெளியீட்டை உருவாக்குகின்றன. முழுமையான உருவாக்க அமைப்பு கிடைக்காத போது, ​​இந்த கருவி விரைவான உலாவியின் பக்கத்தை குறைக்கும்.

ஜாவாஸ்கிரிப்டை ஏன் குறைக்க வேண்டும்

ஜாவாஸ்கிரிப்ட் தொகுப்புகள் பொதுவாக நவீன வலைப்பக்கத்தில் மிகப்பெரிய ஒற்றை ஆதாரமாகும். மினிஃபிகேஷன் வாடிக்கையாக 30-60% அளவு குறைப்பு மற்றும் குறைக்கப்படாத மூலத்தை உருவாக்குகிறது. gzip அல்லது Brotli உடன் இணைந்து, குறைப்பு ஓரளவு சுருங்குகிறது, ஆனால் கலவையானது இன்னும் அளவிடக்கூடிய பைட்டுகளை சேமிக்கிறது - குறிப்பாக மெதுவான இணைப்புகளில் உள்ள பயனர்களுக்கு.

வேகமான ஜாவாஸ்கிரிப்ட் என்பது ஊடாடுவதற்கான வேகமான நேரம். சிறிய ஸ்கிரிப்ட்கள் வேகமாக பதிவிறக்கம் செய்து, வேகமாக அலசவும், விரைவில் செயல்படுத்தவும். TTI பவுன்ஸ் விகிதங்கள் மற்றும் SEO தரவரிசையை பாதிக்கும் தளங்களுக்கு, minification என்பது மலிவான வெற்றிகளில் ஒன்றாகும்.

பயன்படுத்துவது எப்படி

ஜாவாஸ்கிரிப்டை ஒட்டவும், சிறிய பதிப்பைப் பெறவும்.

  1. ஜாவாஸ்கிரிப்ட் உள்ளீட்டைச் சேர்க்கவும்: உள்ளீட்டு பகுதியில் மூலத்தை ஒட்டவும் அல்லது .js கோப்பை கைவிடவும். மினிஃபையர் நவீன ஜாவாஸ்கிரிப்டை (ES2015+) ஏற்றுக்கொள்கிறது, இதில் அம்புக்குறி செயல்பாடுகள், டெம்ப்ளேட் எழுத்துக்கள், வகுப்புகள் மற்றும் தொகுதிகள் அடங்கும்.
  2. விருப்பங்களை தேர்வு செய்யவும்: இயல்புநிலைகள் கருத்துகளை அகற்றி, இடைவெளியைக் குறைக்கும். உள்ளூர் மாறி மறுபெயரிடுதல் பழமைவாதமானது; உங்களுக்கு அதிகபட்ச சுருக்கம் தேவைப்பட்டால், மிகவும் தீவிரமான மறுபெயரிடலை இயக்கவும்.
  3. சிறிதாக்கு: மினிஃபையர் மூலத்தை அலசுகிறது, இடைவெளி மற்றும் கருத்துகளை நீக்குகிறது, மேலும் கச்சிதமான வெளியீட்டை வெளியிடுகிறது. மூலத்தில் உள்ள தொடரியல் பிழைகள் தெளிவான பிழை செய்திகளை உருவாக்குகின்றன.
  4. வெளியீட்டைப் பயன்படுத்தவும்: தயாரிப்பில் உங்கள் ஸ்கிரிப்ட் மூலத்தை மாற்றவும். முழு தேர்வுமுறைக்கு, மரம் நடுங்குதல் மற்றும் இறந்த குறியீடு நீக்குதல் ஆகியவற்றைக் கையாளும் ஒரு பண்ட்லருடன் இணைக்கவும்.

பொதுவான பயன்பாட்டு வழக்குகள்

தொழில்நுட்ப விவரங்கள்

மினிஃபையர் ECMAScript தொடரியலை மதிக்கும் பாகுபடுத்தி JavaScript ஐ டோக்கனைஸ் செய்கிறது. /* எனக் குறிக்கப்பட்ட உரிமக் கருத்துகளைத் தவிர கருத்துகள் (ஒற்றை வரி மற்றும் பல வரி) அகற்றப்படும்! முன்னொட்டு. தொடரியல் தேவைப்படும் இடங்களைத் தவிர (அடையாளங்காட்டிகளுக்கு இடையில், முக்கிய வார்த்தைகளுக்குப் பிறகு) இடைவெளி சுருக்கப்பட்டது.

கன்சர்வேடிவ் மாறி மறுபெயரிடுதல் நேரடியான நோக்கங்களில் உள்ளூர் மாறிகளை சுருக்குகிறது. உலகளாவிய, ஏற்றுமதி மற்றும் இறக்குமதி செய்யப்பட்ட பெயர்கள் மறுபெயரிடப்படவில்லை - இது வெளிப்புற குறிப்புகளை உடைக்கும். ஆழமான மறுபெயரிடுவதற்கு, Terser ஐப் பயன்படுத்தவும் அல்லது சரியான தொகுதி-விழிப்புணர்வு பகுப்பாய்வுடன் esbuild ஐப் பயன்படுத்தவும்.

எட்ஜ் கேஸ்கள்: தானியங்கி அரைப்புள்ளி செருகல் (ASI) என்பது நிரல் நடத்தையை மாற்றுவதைத் தவிர்க்க, மினிஃபையர் சில சூழல்களில் புதிய வரிகளைப் பாதுகாக்க வேண்டும். டெம்ப்ளேட் எழுத்துக்கள், ரெஜெக்ஸ் லிட்டரல்கள் மற்றும் JSX (உள்ளீடு அதை உள்ளடக்கியிருந்தால்) சரியாகப் பாதுகாக்கப்படுகின்றன, ஏனெனில் அவற்றின் உள்ளடக்கங்கள் சுருக்குவதற்கு பாதுகாப்பாக இருக்காது.

சிறந்த நடைமுறைகள்

அடிக்கடி கேட்கப்படும் கேள்விகள்

எனது குறியீடு செயல்படும் விதத்தை சிறிதளவு மாற்றுமா?
இல்லை. சிறுமைப்படுத்தல் இடைவெளி மற்றும் கருத்துகளை நீக்குகிறது, அவை செயல்படுத்தலைப் பாதிக்காது. மாறி சுருக்கம் (மாங்லிங்) உள்ளூர் மாறிகளை மறுபெயரிடுகிறது ஆனால் நடத்தையை பாதுகாக்கிறது. உலகளாவிய மாறிகள் மற்றும் ஏற்றுமதி செய்யப்பட்ட பெயர்கள் அப்படியே வைக்கப்படுகின்றன.
வளர்ச்சி அல்லது உற்பத்தியில் நான் குறைக்க வேண்டுமா?
உற்பத்தியில் சிறிய குறியீட்டை மட்டுமே பயன்படுத்தவும். வளர்ச்சியின் போது, ​​அசல் படிக்கக்கூடிய குறியீட்டை வைத்திருங்கள். பெரும்பாலான உருவாக்க கருவிகள் (Webpack, Vite, esbuild) உற்பத்தி உருவாக்க செயல்முறையின் ஒரு பகுதியாக தானாகவே குறுக்கீட்டைக் கையாளுகின்றன.
சிறுமைப்படுத்தல் மற்றும் தெளிவின்மைக்கு என்ன வித்தியாசம்?
வடிவமைத்திருந்தால், குறியீட்டை செயல்பாட்டு ரீதியாக படிக்கக்கூடியதாக வைத்திருக்கும் போது, அளவைக் குறைக்கிறது. தெளிவின்மை வேண்டுமென்றே குறியீட்டைப் புரிந்துகொள்வதை கடினமாக்குகிறது (சரம் குறியாக்கம், கட்டுப்பாடு ஓட்டம் தட்டையானது). இந்த கருவி அளவைக் குறைப்பதில் கவனம் செலுத்துகிறது, தெளிவற்றதாக இல்லை.
எவ்வளவு அளவு குறைப்பை நான் எதிர்பார்க்க வேண்டும்?
பொதுவாக 30-60% gzip க்கு முன். நீண்ட மாறிப் பெயர்களுடன் நன்கு கருத்துரைக்கப்பட்ட குறியீடு மிகப்பெரிய குறைப்புகளைக் காண்கிறது. ஜிஜிப் சுருக்கத்துடன் இணைந்து, ஜாவாஸ்கிரிப்ட் கோப்புகள் பெரும்பாலும் அசல் மூலத்தை விட 80-90% சிறியதாக இருக்கும்.
எனது குறியீடு சர்வரில் பதிவேற்றப்பட்டதா?
இல்லை. மினிஃபையர் உங்கள் உலாவியில் இயங்குகிறது.
எனது ஜாவாஸ்கிரிப்ட் எவ்வளவு சிறியதாக இருக்கும்?
பொதுவாக 30-60% குறைப்பு. நீண்ட அடையாளங்காட்டிகள் கொண்ட மாறி-கனமான குறியீடு அதிகமாக அழுத்துகிறது; வெளிப்பாடு-கனமான குறியீடு குறைவாக அழுத்துகிறது.
நான் கையால் குறைக்க வேண்டுமா?
ஒருபோதும் இல்லை. படிக்கக்கூடிய ஜாவாஸ்கிரிப்டை மூலத்தில் வைத்திருங்கள். ஒரு கட்டப் படியாக அல்லது வரிசைப்படுத்துதலின் ஒரு பகுதியாக சிறுமைப்படுத்தலை இயக்கவும்.
இது டைப்ஸ்கிரிப்டில் வேலை செய்யுமா?
TypeScript ஐ முதலில் tsc அல்லது esbuild ஐப் பயன்படுத்தி JavaScriptக்கு தொகுக்க வேண்டும். தொகுக்கப்பட்டவுடன், அதன் விளைவாக வரும் ஜாவாஸ்கிரிப்ட் சிறியதாக இருக்கும்.