В таких моделях возникает проблема слежения за зависимостями между файлами.
Допустим понадобился вам script1.js, подключили к проекту, а он, оказывается, требует себе script2.js. Ну без проблем, подключили script2.js, всё работает. Через пол-года script1.js по каким-то причинам стал не нужен, но его зависимости уже никто не помнит. script1.js исключаем из проекта, script2.js продолжает там болтаться мёртвым грузом.
Второй случай: миграция скриптов между проектами. Проектами в узком смысле этого слова, просто между страницами одного проекта. Подключаем скрипт с другой страницы, а он, оказывается, хочет ещё один оттуда же, а тот в свою очередь ещё парочку. Подключаем скрипты один за другим, попутно разрешая возникающие конфликты. И вместо того, чтобы писать код, пол дня ушло на подключение своих же скриптов в свой же проект, но на другую страницу.
Я предпочитаю, когда в каждом файле указаны его зависимости. У меня это выглядит, как серия комментариев //#include script.js в начале файла. В результате нужно думать, только какие функции из какого файла нужны в текущем файле, а подключаемые файлы свои зависимости сами привезут.
|