اس ٹول کے بارے میں
سی ایس ایس منیفیکیشن براؤزرز کو پیش کرنے سے پہلے اس کے سائز کو کم کرنے کے لیے اسٹائل شیٹ سے وائٹ اسپیس، تبصرے اور غیر ضروری حروف کو ہٹاتا ہے۔ اصل اصول غیر تبدیل شدہ ہیں: ایک چھوٹی سی اسٹائل شیٹ صفحات کو غیر منقولہ ماخذ پر یکساں طور پر پیش کرتی ہے۔ بچت نئی لائنوں، بے کار سیمیکولنز، تبصروں، ہیکس کلر شارٹ ہینڈ مواقع، اور صفر یونٹ شارٹ کٹس (0px کو 0 سے تبدیل کرنے) سے حاصل ہوتی ہے۔
درجنوں طرز کے اصولوں والی جدید ویب سائٹس پر، عام کمی 20-40% ہے بمقابلہ غیر منبع شدہ ذریعہ۔ سرور پر gzip کمپریشن کے ساتھ مل کر، معمولی بچت سکڑ جاتی ہے — gzip پہلے ہی بار بار متن کو مؤثر طریقے سے کمپریس کرتا ہے — لیکن یہ مجموعہ اب بھی اکیلے کمپریشن کو ہرا دیتا ہے، خاص طور پر جب اسٹائل شیٹس کو کیش کیا جاتا ہے اور بہت سے زائرین کو کئی بار پیش کیا جاتا ہے۔
یہ منیفائر سی ایس ایس کو ایک ہی پاس میں پروسیس کرتا ہے، url() اقدار سے باہر کے تبصروں کو ہٹاتا ہے، خالی جگہ کو ختم کرتا ہے، منحنی خطوط وحدانی کو بند کرنے سے پہلے فالتو سیمیکولنز کو ہٹاتا ہے، صفر یونٹ شارٹ ہینڈ لگاتا ہے، اور جہاں ممکن ہو چھ ہندسوں کے ہیکس رنگوں کو تین ہندسوں کی شکل میں تبدیل کرتا ہے (#ffffff → #fff)۔ آؤٹ پٹ درست CSS رہتا ہے جسے کوئی بھی براؤزر صحیح طریقے سے پارس کرتا ہے۔
سی ایس ایس کو کیوں کم کریں۔
چھوٹی سی ایس ایس فائلیں تیزی سے لوڈ ہوتی ہیں اور رینڈر بلاکنگ ٹائم ڈراپ ہوتی ہیں، یہ دونوں ہی فرسٹ کانٹینٹ فل پینٹ اور سب سے بڑے مواد والے پینٹ اسکورز کو بہتر بناتے ہیں۔ ان سائٹس کے لیے جہاں کور ویب وائٹلز تلاش کی درجہ بندی کو متاثر کرتے ہیں، ہر کلو بائٹ رینڈر بلاک کرنے والی CSS شیو کرنا قابل قدر ہے۔
بینڈوتھ کے اخراجات بھی پیمانے پر اہم ہیں۔ سائٹس جو لاکھوں صفحات کے نظارے پیش کرتی ہیں جب ان کی اسٹائل شیٹس 30% چھوٹی ہوتی ہیں تو وہ قابل پیمائش مقدار میں اخراج کو بچاتی ہیں۔ CDN بلز، موبائل ڈیٹا کا استعمال، اور توانائی کی کھپت سبھی سے تھوڑا فائدہ ہوتا ہے۔ Minification بنیادی طور پر مفت ہے — ایک وقتی تعمیراتی مرحلہ جس میں دیکھ بھال کی کوئی لاگت نہیں ہے۔
تکنیکی تفصیلات
CSS minification زیادہ تر قدامت پسند وائٹ اسپیس کو ہٹانا ہے۔ سلیکٹرز، ڈیکلریشنز، اور اقدار کے اندر وائٹ اسپیس محفوظ ہے جہاں اہم ہے۔ باہر خالی جگہ ختم ہو گئی ہے۔ تبصرے ہٹا دیے جاتے ہیں جب تک کہ وہ /* سے شروع ہوں! (لائسنس کے تحفظ کے تبصرے)۔
عام شارٹ کٹس: 0px، 0em، اور اسی طرح کی صفر یونٹ کی قدریں 0 بن جاتی ہیں۔ جوڑا ہندسوں کے ساتھ چھ ہندسوں کے ہیکس رنگ (#ffffff, #336699) تین ہندسوں والے بن جاتے ہیں (#fff, #369)؛ } کو ہٹانے سے پہلے آخری سیمیکولن۔ رنگوں کے نام خود بخود ہیکس میں تبدیل نہیں ہوتے ہیں کیونکہ ہیکس بعض اوقات لمبا ہوتا ہے (سرخ لمبائی میں #f00 سے چھوٹا ہوتا ہے؛ #ff0000 سرخ سے لمبا ہوتا ہے)۔
آؤٹ پٹ کو کسی بھی CSS توثیق کار کو پاس کرنا چاہئے جو ان پٹ کو قبول کرتا ہے۔ براؤزر سپورٹ میں کوئی تبدیلی نہیں کی گئی ہے — منیفیکیشن خود قوانین میں ترمیم نہیں کرتی، صرف ان کے متن کی نمائندگی کرتی ہے۔
اکثر پوچھے جانے والے سوالات
- CSS minification کیا ہٹاتا ہے؟
- وائٹ اسپیس (اسپیسز، ٹیبز، نیو لائنز)، تبصرے (/* ... */)، غیر ضروری سیمیکولنز، فالتو زیرو (0.5 → .5)، شارٹ ہینڈ کی اصلاح (#ffffff → #fff)، اور بے کار یونٹس (0px → 0)۔
- کیا minified CSS پیداوار میں استعمال کرنے کے لیے محفوظ ہے؟
- جی ہاں Minification تمام CSS قوانین، سلیکٹرز، اور پراپرٹی ویلیوز کو محفوظ رکھتا ہے۔ آؤٹ پٹ عملی طور پر ایک جیسی ہے — براؤزر اس کی بالکل اسی طرح تشریح کرتے ہیں۔ یہ تمام پروڈکشن ویب سائٹس کے لیے ایک معیاری مشق ہے۔
- مجھے سائز میں کتنی کمی کی توقع کرنی چاہئے؟
- عام طور پر اچھی طرح سے لکھی ہوئی CSS کے لیے 20-50%۔ وربوز فارمیٹنگ کے ساتھ بہت زیادہ تبصرہ کیا گیا کوڈ بڑی کمی دیکھتا ہے۔ پہلے سے کمپیکٹ سی ایس ایس صرف 10-15% سکڑ سکتا ہے۔
- اگر میں gzip استعمال کر رہا ہوں تو کیا مجھے CSS کو کم کرنا چاہیے؟
- ہاں، دونوں۔ Gzip بار بار پیٹرن کو کمپریس کرتا ہے، جبکہ minification غیر ضروری حروف کو ہٹاتا ہے۔ ایک ساتھ مل کر وہ اکیلے سے بہتر کمپریشن فراہم کرتے ہیں۔ Minified + gzipped CSS عام طور پر اصل سے 85-95% چھوٹا ہوتا ہے۔
- کیا مجھے ہمیشہ کم کرنا چاہیے؟
- پیداوار کے لیے ہاں۔ ڈویلپمنٹ سورس فائلوں کے لیے، نہیں — پڑھنے کے قابل CSS دیکھ بھال کے لیے ضروری ہے۔ ترمیم کے وقت نہیں بلکہ تعمیراتی وقت پر منیفیکیشن چلائیں۔
- کیا میرا سی ایس ایس سرور پر اپ لوڈ ہے؟
- نہیں، منیفائر آپ کے براؤزر میں چلتا ہے۔
- اس کا موازنہ cssnano یا csso سے کیسے ہوتا ہے؟
- cssnano اور csso پروڈکشن کی تعمیر کے لیے پوسٹ سی ایس ایس پلگ ان ہیں۔ وہ مزید جارحانہ تبدیلیاں پیش کرتے ہیں جیسے بے کار قواعد کو ضم کرنا۔ یہ ٹول بغیر کسی تعمیراتی سیٹ اپ کے ایڈہاک استعمال کے لیے بنیادی منفیکیشن کا احاطہ کرتا ہے۔
- کیا minification سے ماخذ کے نقشے ٹوٹ جاتے ہیں؟
- Minification سے ماخذ کے نقشے تیار نہیں ہوتے ہیں۔ یہ ٹول صرف minified آؤٹ پٹ پیدا کرتا ہے۔ پروڈکشن میں چھوٹے سی ایس ایس کو ڈیبگ کرنے کے لیے، اپنی تعمیر کے حصے کے طور پر سورس میپس بنائیں۔