Для сложной разработки Javascript структурирование вашего кода основано на моем опыте.Исторически, являясь языком исправлений, существует большая тенденция, что разработка Javascript заканчивается огромными файлами сценариев.
Я бы рекомендовал логически разделить функциональные области приложения, чтобы очистить слабосвязанные и автономные модули.Например, как показано ниже, ваш набор продуктов может иметь несколько модулей продукта и каждый модуль с несколькими подмодулями:

Если у вас есть возможность создавать иерархические модули, это вопроссоздания компонентов пользовательского интерфейса в соответствующем подмодуле.Эти компоненты пользовательского интерфейса также предпочтительно должны быть автономными.Имеется в виду каждый с собственным шаблоном, css, локализацией и т. Д., Как показано ниже:

Я создал эталонную архитектуру JS с примером кода, чтобы поделиться своим опытом, поскольку я приобрел несколькомасштабные проекты JS.Я являюсь автором стандартного письма.Если вам нужна справочная кодовая база, в которую встроены некоторые критические проблемы, не стесняйтесь использовать ее в качестве стартовой кодовой базы.
http://boilerplatejs.org