В современном фронтенде модульности нет.
AMD, RequireJS, CommonJS, ES6 (он же ES2015), TypeScript итд: зело употребляют это слово, но в конечном итоге все сводится к Java-подобной системе импортов.
Хотите убедится?
--Создайте папку и с помощью npm установите туда что-то простое, но посложнее хэлло-ворда; теперь загляните в папку node_modules -- кто все эти люди?? Казалось бы простую вещь ставил, а в результате 10-ки мб кода на борту..
Компонентов тоже нет.
Angular, React -- обманывают. Особенно ангулар.
Компонент предполагает переносимость.
Попробуйте перенести что-либо более менее весомое с одного ангулар проекта на другой; я уж молчу про перенос на не ангулар проект.
В итоге пришлось писать свою систему с четким управлением зависимостями, композишн рутом итд итд.
Вобщем, если интересно, посмотрите в сторону серьезных "экосистем", таких как Java и/или C#.
Поищите по ключевым словам: dependency injection, IoC (-container), composition root итд
А на фронтенде это все даже не в зачаточном состоянии.