ነጻ መለወጫ

ጃቫስክሪፕት ሚኒፋየር

በአሳሽህ ውስጥ የጃቫስክሪፕት ኮድን አሳንስ እና ጨመቅ። አስተያየቶችን አስወግድ፣ ቦታን ሰብስብ እና የፋይል መጠንን ቀንስ። ነፃ እና የግል።

የJS ፋይል ጎትት እና ጣል አድርግ

.js ፋይሎችን ይደግፋል። ወይም ጃቫ ስክሪፕትህን ከላይ ለጥፍ።

ወይም

ስላዚህ መሳሪያ

ጃቫ ስክሪፕት ማቃለል አላስፈላጊ ቁምፊዎችን በማስወገድ እና (በተገቢው ሚኒፊየሮች) የአካባቢ ተለዋዋጮችን ወደ አጭር ስሞች በመቀየር የምንጭ ኮድ መጠን ይቀንሳል። የመጀመሪያው ምድብ - ነጭ ቦታ እና አስተያየት ማስወገድ - ቀጥተኛ እና ከአደጋ ነጻ ነው. ሁለተኛው - ተለዋዋጭ ዳግም መሰየም - የወሰን ደንቦችን መረዳትን ይጠይቃል እና እንደ Terser እና esbuild ያሉ የምርት ማቃለያዎች የበለጠ የሚያደርጉት ነገር ነው።

ይህ መሳሪያ በአስተማማኝ ማነስ ላይ ያተኩራል፡ አስተያየቶችን ማራገፍ፣ ነጭ ቦታን መሰባበር፣ ተደጋጋሚ ሴሚኮሎኖችን ማስወገድ እና ግልጽ የሆኑ ቅጦችን ማሳጠር። ተለዋዋጭ ዳግም መሰየም ወግ አጥባቂ ነው - ግልጽ በሆነ ወሰን ውስጥ ያሉ የአካባቢ ተለዋዋጮች ብቻ ይነካሉ እና በውጫዊ የተጠቀሱ ስሞች ብቻቸውን ይቀራሉ። ውጤቱም በተግባር ከምንጩ ጋር ተመሳሳይ ነው።

ለምርት ደረጃ ማነስ፣ ልዩ መሣሪያዎች (Terser, esbuild, swc) ሙሉውን የ ECMAScript ወሰን ሞዴል ተረድተው በጣም አነስተኛ ምርት ይሰጣሉ። ይህ መሳሪያ ሙሉ የግንባታ ማዋቀር በማይኖርበት ጊዜ ለፈጣን የአሳሽ-ጎን ማሳነስ ነው።

ጃቫ ስክሪፕት ለምን ይቀንሳል

የጃቫ ስክሪፕት ቅርቅቦች በዘመናዊ ድረ-ገጽ ላይ ትልቁ ነጠላ ግብዓት ናቸው። ማቃለል በመደበኛነት ከ30-60% መጠን መቀነስ ካልተቀነሰ ምንጭ ጋር ያመጣል። ከ gzip ወይም Brotli ጋር ተደምሮ፣ ቅናሹ በተወሰነ መጠን ይቀንሳል፣ ነገር ግን ውህደቱ አሁንም ሊለካ የሚችል ባይት ይቆጥባል - በተለይ በዝግታ ግንኙነት ላይ ላሉ ተጠቃሚዎች።

ፈጣን ጃቫ ስክሪፕትም ማለት ፈጣን ወደ መስተጋብራዊ ጊዜ ማለት ነው። ትናንሽ ስክሪፕቶች በፍጥነት ይወርዳሉ፣ በፍጥነት ይለያያሉ እና በቶሎ ያስፈጽማሉ። TTI የቢውሱን ተመኖች እና የSEO ደረጃን ለሚነካባቸው ጣቢያዎች መቀነስ ከሚገኙት በጣም ርካሹ ድሎች አንዱ ነው።

እንዴት ይጠቀሙ

ጃቫ ስክሪፕት ለጥፍ፣ አነስ ያለ ስሪት ያግኙ።

  1. የጃቫስክሪፕት ግቤት አክል: ምንጩን በግቤት ቦታ ላይ ይለጥፉ ወይም የ.js ፋይል ይጣሉ። አነስተኛ ማጉያው የቀስት ተግባራትን፣ የአብነት ቃል በቃል፣ ክፍሎችን እና ሞጁሎችን ጨምሮ ዘመናዊ ጃቫ ስክሪፕት (ES2015+) ይቀበላል።
  2. አማራጮችን ይምረጡ: ነባሪዎች አስተያየቶችን ያራቁ እና የነጭ ቦታን ይሰብራሉ። የአካባቢ ተለዋዋጭ ዳግም መሰየም ወግ አጥባቂ ነው; ከፍተኛ መጭመቅ ካስፈለገዎት የበለጠ ኃይለኛ ዳግም መሰየምን አንቃ።
  3. አሳንስ: አነስተኛ ማጫወቻው ምንጩን ይተነትናል፣ ነጭ ቦታን እና አስተያየቶችን ያስወግዳል እና የታመቀ ውፅዓት ያወጣል። በምንጩ ውስጥ ያሉ የአገባብ ስህተቶች ግልጽ የሆኑ የስህተት መልዕክቶችን ይፈጥራሉ።
  4. ውጤቱን ተጠቀም: በምርት ውስጥ የስክሪፕት ምንጭዎን ይተኩ። ለሙሉ ማመቻቸት የዛፍ መንቀጥቀጥ እና የሞተ ኮድ መጥፋትን ከሚያስተናግድ ጥቅል ጋር ያጣምሩ።

የተለመዱ የአጠቃቀም ጉዳዮች

ቴክኒካዊ ዝርዝሮች

ሚኒፋየር የECMAScript አገባብ የሚያከብር ተንታኝ በመጠቀም ጃቫ ስክሪፕትን ያሰማል። አስተያየቶች (ነጠላ-መስመር እና ባለብዙ መስመር) በ /* ምልክት ከተደረገባቸው የፍቃድ አስተያየቶች በስተቀር ተወግደዋል! ቅድመ ቅጥያ በአገባብ ከተፈለገ (በመለያ መካከል፣ ከቁልፍ ቃላቶች በኋላ) ካልሆነ በስተቀር ነጭ ቦታ ወድቋል።

ወግ አጥባቂ ተለዋዋጭ ዳግም መሰየም አካባቢያዊ ተለዋዋጮችን በቀጥተኛ ወሰን ያሳጥራል። ግሎባልስ፣ ወደ ውጭ የሚላኩ እና ከውጭ የሚገቡ ስሞች አልተሰየሙም - ይህ የውጭ ማጣቀሻዎችን ይሰብራል። በጥልቀት ለመሰየም፣ Terserን ይጠቀሙ ወይም esbuild በትክክለኛ ሞጁል-አወቀ ትንተና።

የጠርዝ ጉዳዮች፡ አውቶማቲክ ሴሚኮሎን ማስገባት (ASI) ማለት የፕሮግራም ባህሪን ላለመቀየር ሚኒፊየር በአንዳንድ ሁኔታዎች አዲስ መስመሮችን መጠበቅ አለበት። የአብነት ቃል በቃል፣ regex literals እና JSX (ግብአት የሚያካትተው ከሆነ) ይዘታቸው ለመጨመቅ አስተማማኝ ላይሆን ስለሚችል በትክክል ተጠብቀዋል።

ምርጥ ልምዶች

በተደጋጋሚ የሚጠየቁ ጥያቄዎች

መቀነስ የእኔ ኮድ እንዴት እንደሚሰራ ይለውጣል?
አይ። ማቃለል ነጭ ቦታን እና አስተያየቶችን ያስወግዳል፣ ይህም አፈጻጸምን አይነካም። ተለዋዋጭ ማሳጠር (ማንግሊንግ) የአካባቢ ተለዋዋጮችን እንደገና ይሰይማል ነገር ግን ባህሪን ይጠብቃል። አለምአቀፍ ተለዋዋጮች እና ወደ ውጭ የሚላኩ ስሞች ሳይበላሹ ይቀመጣሉ።
በልማት ወይም በምርት ላይ መቀነስ አለብኝ?
በምርት ውስጥ አነስተኛ ኮድ ብቻ ይጠቀሙ። በእድገት ጊዜ ዋናውን ሊነበብ የሚችል ኮድ ያስቀምጡ። አብዛኛዎቹ የግንባታ መሳሪያዎች (Webpack, Vite, esbuild) እንደ የምርት ግንባታ ሂደት አካል ማነስን በራስ-ሰር ይይዛሉ።
በማሳነስ እና በመደበቅ መካከል ያለው ልዩነት ምንድን ነው?
ኮድ ከተቀረጸ ተግባራዊ ሆኖ የሚነበብ ሆኖ በማቆየት ማቃለል መጠኑን ይቀንሳል። ማደናቀፍ ሆን ብሎ ኮድን ለመረዳት አስቸጋሪ ያደርገዋል (የሕብረቁምፊ ኢንኮዲንግ ፣ የፍሰት ፍሰት መቆጣጠሪያ)። ይህ መሳሪያ የሚያተኩረው በመጠን መቀነስ ላይ እንጂ በመደበቅ አይደለም።
ምን ያህል መጠን መቀነስ መጠበቅ አለብኝ?
በተለምዶ ከ gzip በፊት ከ30-60%. ረጅም ተለዋዋጭ ስሞች ያሉት በደንብ አስተያየት የተሰጠው ኮድ ትልቁን ቅነሳዎች ይመለከታል። ከ gzip መጭመቂያ ጋር ተዳምሮ፣ የጃቫ ስክሪፕት ፋይሎች ብዙ ጊዜ ከመጀመሪያው ምንጭ ከ80-90% ያነሱ ናቸው።
የእኔ ኮድ ወደ አገልጋይ ተሰቅሏል?
ቁጥር፡ ሚኒፋየር በአሳሽዎ ውስጥ ይሰራል።
የእኔ ጃቫስክሪፕት ምን ያህል ያነሰ ይሆናል?
በተለምዶ ከ30-60% ቅናሽ. ተለዋዋጭ-ከባድ ኮድ ከረጅም መለያዎች ጋር የበለጠ ይጨመቃል; አገላለጽ-ከባድ ኮድ ያንሳል.
በእጅ መቀነስ አለብኝ?
በጭራሽ። ሊነበብ የሚችል ጃቫ ስክሪፕት ከምንጩ ያቆዩት። ማነስን እንደ የግንባታ ደረጃ ወይም እንደ የማሰማራት አካል ያሂዱ።
በTyScript ላይ ይሰራል?
ታይፕ ስክሪፕት በመጀመሪያ tsc ወይም esbuild በመጠቀም ወደ ጃቫ ስክሪፕት ማጠናቀር አለበት። አንዴ ከተጠናቀረ በኋላ የተገኘው ጃቫስክሪፕት ሊቀንስ ይችላል።