Сообщение от Gozar
|
Нет лучших решений, есть наименьшее зло!
|
Ну у меня только один минус, некрасивое использование, то что приходится лезть и прописывать КЛАСС который задаст background-image это не оч красиво и может расходиться с некоторми методологиями верстки.. идеальным решением было бы со стороны браузеров обеспечить поддержку <symbol> нормальную
чтобы можно было писать так: background-image: url(file.svg#logo) и чтобы он от туда только нужное доставал.
Ну а пока есть что есть, по этому я приведу последний раз свои аргументы, и попробуйте их перекрыть:
1) Много svg файлов обединенных в один лучше сжимаются чем каждый из них по отдельности.
2) Один файл грузится быстрее чем мнго маленьких. И на http2 и на http1, потому что сжатые и склеенные svg занимают не более 500 килобайт, а скорость одного потока не успевает за такое время упасть. По этому лучше распараллелить загрузку компонентов сайта, где файл с иконками один "компонент", нежели грузить каждый пук отдельно.
3) Подобное запаковывание svg в css позволяет делать лайврелоад svg без перезагрузки страницы.
4) Тот факт что третий пункт есть в WebPack не означает что не нужно порадоваться что я такой молодец написал плагин еще и на галп, к тому же я возможно напишу и на вебпак плагин.
5) У меня в css инлайнится не base64 кодирование а encodeURIComponent кодирование, оторое меньше весит и лучше сжимается.
6) Заодно плагин делает еще и оптимизацию svg другим плагином.