ഈ ടൂളിനെ കുറിച്ച്
ബ്രൗസറുകളിൽ സേവിക്കുന്നതിന് മുമ്പ് അതിൻ്റെ വലുപ്പം കുറയ്ക്കുന്നതിന് ഒരു സ്റ്റൈൽഷീറ്റിൽ നിന്ന് വൈറ്റ്സ്പേസ്, കമൻ്റുകൾ, അനാവശ്യ പ്രതീകങ്ങൾ എന്നിവ CSS മിനിഫിക്കേഷൻ നീക്കം ചെയ്യുന്നു. യഥാർത്ഥ നിയമങ്ങൾക്ക് മാറ്റമില്ല: ഒരു മിനിഫൈഡ് സ്റ്റൈൽഷീറ്റ്, അൺമിനിഫൈഡ് സോഴ്സിന് സമാനമായി പേജുകളെ റെൻഡർ ചെയ്യുന്നു. ന്യൂലൈനുകൾ, അനാവശ്യ അർദ്ധവിരാമങ്ങൾ, അഭിപ്രായങ്ങൾ, ഹെക്സ്-കളർ ഷോർട്ട്ഹാൻഡ് അവസരങ്ങൾ, സീറോ-യൂണിറ്റ് കുറുക്കുവഴികൾ (0px-ന് പകരം 0) എന്നിവ നീക്കം ചെയ്യുന്നതിലൂടെയാണ് ലാഭം ലഭിക്കുന്നത്.
ഡസൻ കണക്കിന് ശൈലി നിയമങ്ങളുള്ള ആധുനിക വെബ്സൈറ്റുകളിൽ, അൺമിനിഫൈഡ് സ്രോതസ്സിനെതിരെ 20-40% ആണ് സാധാരണ കുറവ്. സെർവറിലെ gzip കംപ്രഷനുമായി സംയോജിപ്പിച്ച്, മാർജിനൽ സേവിംഗ്സ് ചുരുങ്ങുന്നു - gzip ഇതിനകം തന്നെ ആവർത്തിച്ചുള്ള ടെക്സ്റ്റ് ഫലപ്രദമായി കംപ്രസ്സുചെയ്യുന്നു - എന്നാൽ ഈ കോമ്പിനേഷൻ ഇപ്പോഴും കംപ്രഷനെ മാത്രം മറികടക്കുന്നു, പ്രത്യേകിച്ചും സ്റ്റൈൽഷീറ്റുകൾ കാഷെ ചെയ്യപ്പെടുകയും നിരവധി സന്ദർശകർക്ക് നൽകുകയും ചെയ്യുമ്പോൾ.
ഈ മിനിഫയർ ഒരൊറ്റ പാസിൽ CSS പ്രോസസ്സ് ചെയ്യുന്നു, url() മൂല്യങ്ങൾക്ക് പുറത്തുള്ള കമൻ്റുകൾ നീക്കംചെയ്യുന്നു, വൈറ്റ്സ്പെയ്സ് തകരുന്നു, ബ്രേസുകൾ അടയ്ക്കുന്നതിന് മുമ്പ് അനാവശ്യ അർദ്ധവിരാമങ്ങൾ നീക്കംചെയ്യുന്നു, പൂജ്യം-യൂണിറ്റ് ഷോർട്ട്ഹാൻഡ് പ്രയോഗിക്കുന്നു, സാധ്യമാകുന്നിടത്ത് ആറ് അക്ക ഹെക്സ് നിറങ്ങൾ മൂന്നക്ക രൂപത്തിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു (#ffffff → #fff). ഏത് ബ്രൗസറും ശരിയായി പാഴ്സ് ചെയ്യുന്ന ഔട്ട്പുട്ട് സാധുവായ CSS ആയി തുടരുന്നു.
എന്തുകൊണ്ട് CSS ചെറുതാക്കുക
ചെറിയ CSS ഫയലുകൾ വേഗത്തിൽ ലോഡ് ചെയ്യുകയും റെൻഡർ-ബ്ലോക്ക് ടൈം ഡ്രോപ്പ് ചെയ്യുകയും ചെയ്യുന്നു, ഇവ രണ്ടും ആദ്യ ഉള്ളടക്കമുള്ള പെയിൻ്റും ഏറ്റവും വലിയ ഉള്ളടക്കമുള്ള പെയിൻ്റ് സ്കോറുകളും മെച്ചപ്പെടുത്തുന്നു. കോർ വെബ് വൈറ്റലുകൾ തിരയൽ റാങ്കിംഗിനെ ബാധിക്കുന്ന സൈറ്റുകൾക്ക്, റെൻഡർ-ബ്ലോക്കിംഗ് CSS ഷേവ് ചെയ്ത ഓരോ കിലോബൈറ്റും പരിശ്രമിക്കേണ്ടതാണ്.
ബാൻഡ്വിഡ്ത്ത് ചെലവുകളും സ്കെയിലിൽ പ്രധാനമാണ്. ദശലക്ഷക്കണക്കിന് പേജ് കാഴ്ചകൾ നൽകുന്ന സൈറ്റുകൾ, അവയുടെ സ്റ്റൈൽഷീറ്റുകൾ 30% ചെറുതായിരിക്കുമ്പോൾ, അളക്കാവുന്ന അളവിലുള്ള പുരോഗതി ലാഭിക്കുന്നു. CDN ബില്ലുകൾ, മൊബൈൽ ഡാറ്റ ഉപയോഗം, ഊർജ്ജ ഉപഭോഗം എന്നിവയെല്ലാം അൽപം പ്രയോജനം ചെയ്യുന്നു. മിനിഫിക്കേഷൻ അടിസ്ഥാനപരമായി സൗജന്യമാണ് - അറ്റകുറ്റപ്പണി ചെലവില്ലാതെ ഒറ്റത്തവണ നിർമ്മാണ ഘട്ടം.
സാങ്കേതിക വിശദാംശങ്ങൾ
CSS മിനിഫിക്കേഷൻ മിക്കവാറും യാഥാസ്ഥിതിക വൈറ്റ്സ്പേസ് നീക്കംചെയ്യലാണ്. സെലക്ടറുകൾ, പ്രഖ്യാപനങ്ങൾ, മൂല്യങ്ങൾ എന്നിവയ്ക്കുള്ളിലെ വൈറ്റ്സ്പെയ്സ് പ്രാധാന്യമുള്ളിടത്ത് സംരക്ഷിക്കപ്പെടുന്നു; പുറത്തെ വെള്ളയിടം തകർന്നു. /* എന്ന് തുടങ്ങുന്നില്ലെങ്കിൽ കമൻ്റുകൾ നീക്കം ചെയ്യപ്പെടും! (ലൈസൻസ് സംരക്ഷണ അഭിപ്രായങ്ങൾ).
സാധാരണ കുറുക്കുവഴികൾ: 0px, 0em, സമാനമായ പൂജ്യം യൂണിറ്റ് മൂല്യങ്ങൾ 0 ആയി മാറുന്നു; ജോടിയാക്കിയ അക്കങ്ങളുള്ള (#ffffff, #336699) ആറ് അക്ക ഹെക്സ് വർണ്ണങ്ങൾ മൂന്ന് അക്കങ്ങളായി മാറുന്നു (#fff, #369); } ന് മുമ്പുള്ള അവസാന അർദ്ധവിരാമം നീക്കം ചെയ്തു. ഹെക്സ് ചിലപ്പോൾ നീളമുള്ളതിനാൽ വർണ്ണ നാമങ്ങൾ സ്വയമേവ ഹെക്സായി പരിവർത്തനം ചെയ്യപ്പെടുന്നില്ല (ചുവപ്പ് നീളം #f00 നേക്കാൾ ചെറുതാണ്; #ff0000 ചുവപ്പിനേക്കാൾ നീളമാണ്).
ഇൻപുട്ട് സ്വീകരിക്കുന്ന ഏതൊരു CSS വാലിഡേറ്ററും ഔട്ട്പുട്ട് കടന്നുപോകണം. ബ്രൗസർ പിന്തുണ മാറ്റമില്ല - മിനിഫിക്കേഷൻ നിയമങ്ങളെ സ്വയം പരിഷ്ക്കരിക്കുന്നില്ല, അവയുടെ വാചക പ്രതിനിധാനം മാത്രം.
പതിവ് ചോദ്യങ്ങള്
- എന്താണ് CSS മിനിഫിക്കേഷൻ നീക്കം ചെയ്യുന്നത്?
- വൈറ്റ്സ്പെയ്സ് (സ്പെയ്സ്, ടാബുകൾ, ന്യൂലൈനുകൾ), കമൻ്റുകൾ (/* ... */), അനാവശ്യ അർദ്ധവിരാമങ്ങൾ, അനാവശ്യ പൂജ്യങ്ങൾ (0.5 → .5), ഷോർട്ട്ഹാൻഡ് ഒപ്റ്റിമൈസേഷനുകൾ (#ffffff → #fff), കൂടാതെ അനാവശ്യ യൂണിറ്റുകൾ (0px → 0).
- മിനിഫൈഡ് CSS നിർമ്മാണത്തിൽ ഉപയോഗിക്കാൻ സുരക്ഷിതമാണോ?
- അതെ. മിനിഫിക്കേഷൻ എല്ലാ CSS നിയമങ്ങളും സെലക്ടറുകളും പ്രോപ്പർട്ടി മൂല്യങ്ങളും സംരക്ഷിക്കുന്നു. ഔട്ട്പുട്ട് പ്രവർത്തനപരമായി സമാനമാണ് - ബ്രൗസറുകൾ അതിനെ അതേ രീതിയിൽ വ്യാഖ്യാനിക്കുന്നു. എല്ലാ പ്രൊഡക്ഷൻ വെബ്സൈറ്റുകൾക്കും ഇത് ഒരു സാധാരണ പരിശീലനമാണ്.
- എത്ര വലിപ്പം കുറയ്ക്കാൻ ഞാൻ പ്രതീക്ഷിക്കണം?
- നന്നായി എഴുതിയ CSS-ന് സാധാരണ 20-50%. വെർബോസ് ഫോർമാറ്റിംഗിനൊപ്പം കനത്ത കമൻ്റ് ചെയ്ത കോഡ് വലിയ കുറവുകൾ കാണുന്നു. ഇതിനകം ഒതുക്കമുള്ള CSS 10-15% മാത്രമേ ചുരുങ്ങൂ.
- ഞാൻ gzip ഉപയോഗിക്കുകയാണെങ്കിൽ CSS ചെറുതാക്കണോ?
- അതെ, രണ്ടും. Gzip ആവർത്തിച്ചുള്ള പാറ്റേണുകൾ കംപ്രസ്സുചെയ്യുന്നു, അതേസമയം മിനിഫിക്കേഷൻ അനാവശ്യ പ്രതീകങ്ങൾ നീക്കംചെയ്യുന്നു. അവർ ഒന്നിച്ച് ഒറ്റയ്ക്കേക്കാൾ മികച്ച കംപ്രഷൻ നൽകുന്നു. Minified + gzipped CSS ഒറിജിനലിനേക്കാൾ 85-95% ചെറുതാണ്.
- ഞാൻ എപ്പോഴും ചെറുതാക്കണോ?
- ഉത്പാദനത്തിന് അതെ. ഡെവലപ്മെൻ്റ് സോഴ്സ് ഫയലുകൾക്ക്, ഇല്ല - അറ്റകുറ്റപ്പണികൾക്ക് വായിക്കാനാകുന്ന CSS അത്യാവശ്യമാണ്. എഡിറ്റ് സമയത്തല്ല, ബിൽഡ് സമയത്ത് മിനിഫിക്കേഷൻ പ്രവർത്തിപ്പിക്കുക.
- എൻ്റെ CSS ഒരു സെർവറിലേക്ക് അപ്ലോഡ് ചെയ്തിട്ടുണ്ടോ?
- ഇല്ല. മിനിഫയർ നിങ്ങളുടെ ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നു.
- ഇത് cssnano അല്ലെങ്കിൽ csso എന്നിവയുമായി എങ്ങനെ താരതമ്യം ചെയ്യുന്നു?
- cssnano, csso എന്നിവ പ്രൊഡക്ഷൻ ബിൽഡുകൾക്കുള്ള PostCSS പ്ലഗിനുകളാണ്; അനാവശ്യ നിയമങ്ങൾ ലയിപ്പിക്കുന്നതുപോലുള്ള കൂടുതൽ ആക്രമണാത്മക പരിവർത്തനങ്ങൾ അവർ വാഗ്ദാനം ചെയ്യുന്നു. ബിൽഡ് സെറ്റപ്പ് ഇല്ലാതെ അഡ്-ഹോക്ക് ഉപയോഗത്തിനുള്ള അടിസ്ഥാന മിനിഫിക്കേഷൻ ഈ ടൂൾ ഉൾക്കൊള്ളുന്നു.
- മിനിഫിക്കേഷൻ ഉറവിട മാപ്പുകളെ തകർക്കുമോ?
- മിനിഫിക്കേഷൻ ഉറവിട മാപ്പുകൾ സൃഷ്ടിക്കുന്നില്ല; ഈ ടൂൾ മിനിഫൈഡ് ഔട്ട്പുട്ട് മാത്രമേ ഉത്പാദിപ്പിക്കുന്നുള്ളൂ. ഉൽപ്പാദനത്തിൽ മിനിഫൈഡ് CSS ഡീബഗ് ചെയ്യാൻ, നിങ്ങളുടെ ബിൽഡിൻ്റെ ഭാഗമായി ഉറവിട മാപ്പുകൾ സൃഷ്ടിക്കുക.