Size: a a a

2021 May 06

EB

Evgeniy Baranov in БЭМ
То есть каждая платформа - отдельный webpack-конфиг?
Сейчас у меня сборка с тремя конфигами - server (SSR), зеленые браузеры и старые браузеры.
Это получается для каждой платформы еще по конфигу.... server-mobile, server-desktop, browser-mobile, browser-desktop, legacy-mobile, legacy-desktop. Как-то так?
источник

yW

yarastqt World in БЭМ
Не думаю, что для сервера нужно делать отдельный бандл, можно и общий, т.к. тут необходимости делить на отдельные бандлы из-за размера
источник

yW

yarastqt World in БЭМ
Делить нужно только клиентский код
источник

EB

Evgeniy Baranov in БЭМ
В серверном окружении node_modules не бандлятся + формат commonjs (чтобы серверный код можно было подключить как nodejs пакет). Кажется одними энтрипоинтами не обойтись
источник

yW

yarastqt World in БЭМ
Ну, получается, что у тебя будет несколько инстансов BFF для проекта? 🤔
источник

yW

yarastqt World in БЭМ
Почему не бандлится? Чтот не пойму, насчет cjs тоже не ясно
источник

yW

yarastqt World in БЭМ
Серверный энтрипоинт можно упаковать в бандл, достаточно указать в вебпаке окружение node, чтобы нативные пакеты не бандлились
источник

EB

Evgeniy Baranov in БЭМ
чтобы собранный dist можно было зареквайрить из другого пакета
источник

EB

Evgeniy Baranov in БЭМ
ты имеешь ввиду target: node? Если да, то он ведь распространяется на всю сборку, не только на entrypoint...
источник

EB

Evgeniy Baranov in БЭМ
Вот конфликты между mobile и desktop
источник

yW

yarastqt World in БЭМ
Хм, кажется, что это просто ворнинг об конфлите подключаемых стилей, в данном случае я не думаю, что это критично, т.к. порядок подключения не должен как-то повлиять на приложение
источник

yW

yarastqt World in БЭМ
Проблема из-за подключения стилей как сайд-эффект файлов (не css-модули или css-in-js, а просто импорт)
источник

yW

yarastqt World in БЭМ
Да, но у тебя как раз должна быть сборка для сервера одна и для клиентов разные
источник

yW

yarastqt World in БЭМ
Попробую собрать пример 🤔
источник

Prikolist Начрэл... in БЭМ
Как уже сказали, для сервера должно быть 1-2 бандла, которые умеют в зависимости от платформы генерировать подходящий код. Например под мобилки рисовать нативные контролы селекта.

А для клиентов у тебя может быть хоть 100 бандлов, в зависимости от потребностей. Это популярная практика. Попробуй зайти на ютуб и поменять себе юзерагент и обновлять страницу. В некоторых случаях будешь получать разваливающийся сайт. Это потому, что они отдают бандлы в зависимости от юзер агента
источник

EB

Evgeniy Baranov in БЭМ
Я так и хочу сделать.
источник

В

Вадим in БЭМ
все равно же прийдется в стилях компонентов сглаживать разницу отображения в разных браузерах - не лучше сделать это один раз и не париться каждый раз вспоминая что в каком браузере вылазит?

сброс всех и вся до 0 - это конечно антипаттерн, а вот приведение вида к общему состоянию - дело полезное
вопрос только где это приведение к общему держать: в каждом компоненте или в общем файле

мне проще все привести к общему виду в одном месте, а уже в каждом компоненте писать только то что меняет вид элемента в соответсвии с дизайном
источник

VH

Vitaly Harisov in БЭМ
Ой, всё
источник

В

Вадим in БЭМ
согласен 🙂
источник

Prikolist Начрэл... in БЭМ
Прочитай историю чата. Тут об этом говорили развёрнуто как минимум раз 5
источник