Если на экране будет 20 разных иконок, то будет 20 запросов. Последующие загрузки будут оптимизированы http-кэшем, но тогда уж лучше склеивать все символы в один файл.
Как я понял, основная идея подхода, как и сказал автор — "никаких лишних стилей". Это хорошо работает, когда в проекте есть достаточно строгая дизайн-система с ограниченным набором цветов, отступов и пр. В таком случае при создании новых компонентов, экранов (страниц) CSS не должен расти в размерах (или не на много прибавит веса).
Но все, сто может быть автоматизировано, должно быть автоматизировано. Создавать россыпь атомарных классов должен некий сборщик/компилятор, а не разработчик.
В режиме тестирования отладки компилятор уже создал атомарные классы, но оставил возможность искать нужный компонент прямо в инспекторе браузера. Это удобно для разработчиков/дизайнеров.
А что делать, если у какого-нибудь компонента нужно поменять оформление с px-4 на px-6? Предположим, что нет никакого фреймворка. Как найти нужный html-шаблон в проекте? Если сделать поиск редакторе по px-4, то, боюсь, там будет 100500 совпадений.
Попробовал распечатать локальный html-файл с картинками в Chrome. Фоновые картинки не подгрузились.
Где-то советуют использовать стили
body {
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
}
Но мне они не помогли. Задал явно формат:
@page {
size: A4 portrait;
}
и заработало. Странно.
Могу ошибаться, но в wkhtmltopdf (как и в PhantomJS) используется древняя версия движка Webkit, еще та, что была до разделения на собственно Webkit и Blink (который сейчас в Chrome). Поэтому для печати лучше использовать Puppeteer или Playwright.
Больше нет package.json, теперь принято использовать deps.ts
Но ведь и в package.json для Node.js можно написать пути до git-репозиториев с указанием ветки/теги/коммита, а не название пакета в централизованном хранилище.
Жаль, что нет алгоритма расчета
flex-shrink
(как это сделано дляflex-grow
) для полноты статьи.Возможно, дело было с MediaStream?
Затем этот же
image
послеonload
отрисовать на canvas черезctx.drawImage
.Пример — https://codepen.io/monochromer/pen/MWgOWyx?editors=0010
Написать можно и в другом виде:
delНе вижу ничего плохого в том, чтобы руками писать media queries в современном виде, слегка приправленные sass'ом и обработанные postcss-плагином:
И для этого надо открыть отдельную страницу с достаточно тяжеловесной WebIDE.
Да, но в статье компонент сделан так, что он работает только с одним файлом-иконкой.
Если на экране будет 20 разных иконок, то будет 20 запросов. Последующие загрузки будут оптимизированы http-кэшем, но тогда уж лучше склеивать все символы в один файл.
Как я понял, основная идея подхода, как и сказал автор — "никаких лишних стилей". Это хорошо работает, когда в проекте есть достаточно строгая дизайн-система с ограниченным набором цветов, отступов и пр. В таком случае при создании новых компонентов, экранов (страниц) CSS не должен расти в размерах (или не на много прибавит веса).
Но все, сто может быть автоматизировано, должно быть автоматизировано. Создавать россыпь атомарных классов должен некий сборщик/компилятор, а не разработчик.
Мое видение работы:
Поэтому лучше взять что-то вроде CSS-blocks или Deterministic StyleSheets.
.button
, то почему бы и все нужные стили на него не навесить?Только как найти его в исходниках, глядя в инспектор браузера?
Пишите код текстом, пожалуйста!
А что делать, если у какого-нибудь компонента нужно поменять оформление с
px-4
наpx-6
? Предположим, что нет никакого фреймворка. Как найти нужный html-шаблон в проекте? Если сделать поиск редакторе поpx-4
, то, боюсь, там будет 100500 совпадений.Попробовал распечатать локальный html-файл с картинками в Chrome. Фоновые картинки не подгрузились.
Где-то советуют использовать стили
Но мне они не помогли. Задал явно формат:
и заработало. Странно.
Могу ошибаться, но в wkhtmltopdf (как и в PhantomJS) используется древняя версия движка Webkit, еще та, что была до разделения на собственно Webkit и Blink (который сейчас в Chrome). Поэтому для печати лучше использовать Puppeteer или Playwright.
Скорее будет использоваться файл
deps.ts
с реэкспортом:И тут мы возвращаемся к файлам, где объявлены все зависимости.
Хотя это, возможно, будет удобно, где нужно в зависимости от переменных окружения подсунуть другую реализацию модуля, для тестов, например.
ts-node нужен для разработки, а не для реальной эксплуатации.
А как обеспечивается в редакторах автодополнение свойств, методов и пр., если модуль еще не загружен и неизвестно что там?
Но ведь и в package.json для Node.js можно написать пути до git-репозиториев с указанием ветки/теги/коммита, а не название пакета в централизованном хранилище.
А не пробовали еще использовать оптимизированный формат для шрифтов — woff2 или woff и удалять неиспользуемые глифы?
ky-universal