NikitaKo: у нас тоже кровавый ынтырпрайзы, правда ориентация на мобильные приложения. Печально, что технологии выбираются в основном не по техническим характеристикам, а по раскрученности. Сейчас все проекты переводят на Реакт. Через год-два наиграются, надоест копипастить, начнут внедрять старые добрые паттерны: https://habrahabr.ru/post/322700/ Каждые 5 лет мы переизобретаем одно и то же :-)
eldar_web: чтобы не повторять код иконки в каждом месте использования, её выносят в отдельный шаблон, а в месте использования вставляют лишь включение этого шаблона. Как это сделать - зависит от используемого вами шаблонизатора.
Артём Петренков: Поймёт с небольшой обёрткой. До commonjs модуля нужно создать module.exports, после - сохранить module.eports в словаре, а реализация require просто должна выдавать значения из этого словаря.
Максим Иванов: input элементы сами по себе довольно тяжёлые. А если их ещё и десятки тысяч - ту любой фреймворк захлебнётся. Остаётся искать компромисы исходя их сценариев использования.