Много модулей или как быть с amd

Работаю тут над игрушкой.
Дело дошло до того, что я начал понимать , что requireJS мне больше мешает, чем помогает.
Количество модулей увеличилось до 16ти и я думаю о создании еще 5-10ти.
Архитектура стала очень сложной , модули возвращают большие обьекты, мне уже хочется вобще просто все повыносить на глобальный уровень.
Мне хотелось бы модульности, но хотелось бы частично избавиться от инкапусляции в приложении, т.к. она мне только усложянет получение и передачу измененных данных.
Думаю поискать какую то похожую библиотеку, по типу require, но я не могу определиться с требованиями для нее.
Или же надо писать более корректный код :)

После некоторого “слепого” следования я понял, что слепое следование методологий местами вредит. Тоже самое с модулями и инкапсуляцией. Оцени для себя какую задачу ты решаешь, добавляя концепцию модулей своей системе, и чем ты платишь. По соотношению польза / цена, где в цену входит все, что можешь посчитать (учитывая даже свое личное отношение к технологиям), можно оценить применимость или неприменимость подходов.

В большом модульном проекте я сегодня использую подход частично икапсуляции. Некоторые модули, которые подразумеваются глобальными (соединение с сервером, информация о пользователе, наборы констант) я держу на глобальному уровне. Идеологически этот подход может показаться неверным, но практика показывает что таким образом надо производить меньше телодвижений, и код лаконичнее отражает действительность (хоть и требует некоторых предпосылок в виде знания того что есть на глобальном уровне).

  1. Попробуй es-6 модули (бонусом будут многие фишки из es6) GitHub - google/traceur-compiler: Traceur is a JavaScript.next-to-JavaScript-of-today compiler. Все равно это будет стандартом скоро.
  2. Еще вариант commonjs модули - они проще в понимании, чем es6, и удобны тем, кто уже работал с nodejs. Собираются с помощью http://browserify.org/. Бонусом идет возможность использовать в проекте npm модули общего назначения (не зависящие от nodejs API).

Спасибо, commonjs модули погляжу.