О овом алату
ХТМЛ минификација уклања непотребне знакове из извора веб странице — размак између ознака, коментара, сувишних наводника, опционих ознака за затварање — да би се смањила величина датотеке без промене начина на који се страница приказује. Уштеде су скромне по страници (обично 10–30%), али се повећавају за многе захтеве, посебно за статичне сајтове или странице које се приказују без динамичке компресије.
Овај минификатор уклања размак између елемената на нивоу блока, скупља низ празнина унутар небитног текста, уклања ХТМЛ коментаре (осим ИЕ условних коментара), уклања сувишне наводнике атрибута тамо где то дозвољава ХТМЛ5 спецификација и избацује опционалне завршне ознаке (</п>, </ли>) где спецификација дозвољава. Резултат се приказује идентично као извор у сваком претраживачу.
Минификација је најкориснија када је упарена са гзип или Бротли компресијом на нивоу сервера. Компресија већ уклања велики део уштеда које минификација производи, али ове две комбиноване и даље превазилазе само компресију — посебно за сајтове са великим прометом где су трошкови пропусног опсега битни.
Зашто минимизирати ХТМЛ
Мањи ХТМЛ се брже учитава, посебно на споријим везама и мобилним мрежама. Тежина странице директно утиче на основне вредности веба — Највећа слика са садржајем и време до првог бајта се побољшавају када сервер враћа мање ХТМЛ-а за рашчлањивање. За сајтове где СЕО рангирање зависи од резултата Цоре Веб Виталс-а, минификација је мерљиво побољшање.
Минимизирани ХТМЛ такође смањује трошкове пропусног опсега у великој мери. Сајт који сервира милион страница дневно уз уштеду од 10 КБ по страници штеди 10 ГБ излаза дневно. Утицај једињења за статичне локације које се опслужују са ЦДН-ова који наплаћују пренос података.
Тецхницал Детаилс
Минифиер обрађује ХТМЛ токен по токен. Размак између елемената на нивоу блока (<див>, <п>, <ул>) је уклоњен јер не утиче на рендеровање. Размак унутар инлине контекста (<спан>, <а>, текстуални садржај) је сачуван јер може утицати на рендеровање.
Коментари се подразумевано уклањају, али условни коментари (<!--[ако ИЕ]>) су сачувани. Наводници атрибута се уклањају тамо где ХТМЛ5 парсер дозвољава — вредности атрибута од једне речи без размака или специјалних знакова могу изоставити наводнике.
Опционе ознаке за затварање су изостављене према ХТМЛ5 спецификацији: </п>, </ли>, </тд>, а неке друге се могу изоставити када их прати брат или сестра који имплицира њихово затварање. Ово је неуобичајено за читање, али важећи ХТМЛ5 који претраживачи анализирају идентично.
Често постављана питања
- Шта уклања ХТМЛ минификација?
- Непотребан размак између ознака, ХТМЛ коментара (<!-- -->), опционих ознака за затварање (</ли>, </п>, </тд>), подразумеваних вредности атрибута (типе="тект" на улазима) и вредности логичких атрибута (дисаблед="дисаблед" → дисаблед).
- Може ли ми минификација покварити моју страницу?
- Ретко, али могуће ако се ваш ЦСС ослања на размак између уметнутих елемената или ако ЈаваСцрипт користи иннерХТМЛ поређења. Увек тестирајте минимизирани излаз. Алат подразумевано користи конзервативна подешавања.
- Да ли треба да минимизирам ХТМЛ ако користим оквир као што је Нект.јс?
- Већина модерних оквира (Нект.јс, Нукт, Ангулар) аутоматски минимизира ХТМЛ у продукцијским верзијама. Овај алат је користан за статичне ХТМЛ датотеке, шаблоне е-поште и пројекте без система за изградњу.
- Да ли ово минимизира и инлине ЦСС и ЈаваСцрипт?
- Овај алат се фокусира на ХТМЛ структуру. Уметнути садржаји <стиле> и <сцрипт> су сачувани какав је. За њих користите наменске ЦСС и ЈаваСцрипт минимере за оптималне резултате.
- Да ли су опционе ознаке за затварање безбедне за уклањање?
- Да по ХТМЛ5 спецификацији, иако је резултат теже читати. Неки тимови онемогућавају ову трансформацију ради јасноће, прихватајући малу казну за величину.
- Да ли је мој ХТМЛ учитан на сервер?
- Не. Минифиер ради у вашем претраживачу.
- Како се ово може поредити са хтмл-минифиер-терсер?
- хтмл-минифиер-терсер је канонски Ноде.јс ХТМЛ минификатор и даје мало агресивније резултате. Овај алат покрива исте трансформације за употребу на страни претраживача без подешавања за изградњу.
- Да ли треба да минимизирам увек или селективно?
- Увек за производњу. Никада за изворни код у контроли верзија; читљив ХТМЛ у изворном коду је од суштинског значаја за одржавање.