דילוג לתוכן
FileSlimmer
כלים
מדריכים

כלי קוד

שלושת הכלים האלה מנתחים את קוד המקור שלכם, כותבים אותו מחדש ומדפיסים אותו בחזרה. מה שהם לעולם אינם עושים הוא להריץ אותו. ההבחנה הזו היא כל מודל האבטחה כאן, והיא נאכפת בקוד ולא מובטחת במשפט.

הקוד שלכם מנותח, לעולם לא מורץ

מזער חייב להבין את קוד המקור שלכם, כלומר לנתח אותו לעץ תחביר ולהדפיס את העץ הזה בחזרה. הוא אינו צריך להעריך דבר, והמזער הזה גם אינו עושה זאת: אין כאן eval, אין Function דינמי, ואין תצוגה מקדימה שמריצה את הסקריפט שלכם.

זה חשוב יותר מכול עבור SVG. קובץ SVG הוא מסמך בר-הרצה — הוא יכול לשאת סקריפטים, מטפלי אירועים וכתובות מסוג "javascript:". כל אחד מאלה מוסר, פעמיים: פעם אחת על ידי הכלל של המיטוב עצמו, ופעם נוספת במעבר עצמאי שרץ אחריו, משום שמסנן יחיד עם באג יחיד אינו מודל אבטחה.

מה המזעור באמת חוסך

הסרת רווחים וקיצור שמות מקומיים גורעים בדרך כלל כשליש מקוד המקור הגולמי. רוב הרווח הנותר מגיע מהדחיסה של השרת שלכם ולא מהמזער, ולכן ההשוואה הריאלית היא קובץ מוקטן שעבר גם gzip — ולא ספירת הבייטים הגולמית.

הצהרות @import נשארות כמות שהן

הצהרת @import ב-CSS נשמרת כטקסט או מוסרת לפי בקשה. לעולם לא הולכים בעקבותיה: הבאת מה שהיא מפנה אליו הייתה אומרת שהעמוד הזה שולח בקשה בשמכם בנוגע לקובץ שהדבקתם, וזה בדיוק מה שכל שאר האתר בנוי לא לעשות.

מדריכים

מדריכים