Как организовать javascript код?

Собственно сабж. Разрабатываю на Symfony 1/2, весь код js в виде лапши из вызовов jQuery, его плагинов и своих костылей распиханных по отдельным файлам, например: profile.js в /profile, post.js в /post и т.д. Не могу прийти к какому-то пониманию, как весь этот код организовать, возможно также собирать его чем-то (и нужно ли).



Начал гуглить по этой теме, попадаются статьи о backbone/angular/и т.п., но мне почему-то кажется это чем-то излишним, пока что шаблонизация на клиенте как таковая мне не нужна, роуты опять же на #! какие-то страшные. Вообщем прошу помочь разобраться, ибо в голове полная каша.
  • Вопрос задан
  • 5869 просмотров
Пригласить эксперта
Ответы на вопрос 4
Arks
@Arks
мне кажется надо делать так:
1. написать микроядро(в котором будет в частности упомянутый RequireJS и специфическая аритектура проекта).
2. написать макроядро(в котором будет весь весь весь js-код) во избежание всяких чудо-фич вида посреди HTTP-ответа. Это делается чудесной вещью под названием GruntJS и указанного автором набора скриптов «на каждый URL».

По умолчанию всегда грузится легковесное микроядро, при необходимости подгрузки чего-либо оно дергает макроядро(постепенно в фоне) — которое вследствие модульности постепенно кешируется.

AMD немножко не в ту степь я думаю…
Ответ написан
spmbt
@spmbt
Если код раскладывается на дерево согласно зависимостям: общий код — в корне, частные — в подкаталогах, то можно так и хранить. Если хочется держать в одном каталоге, то или дерево подкаталогов дублируется там, или всё в одной куче, а вытаскивание из неё организуется через зависимости. Если частный код или плагин употребляется в более одном месте, его переносят к общему корню каталогов. Зависимости можно визуализировать в одном JSON-файле, чтобы скрипт мог доставать без ручной правки кодов во многих местах. Аналогичный вопрос часто свстаёт в среднесложных системах с более 2 десятками файлов. По теме, скорее, лучше гуглить на @require JS", «commonJS», AMD, хотя в них не решается вопрос о путях к файлам — это всё на усмотрение программиста.
Ответ написан
@Insayt
Для автора возможно уже не актуально, но для тех кто нагуглит топик - недавно написал статью об этом habrahabr.ru/post/218485
Простой подход к структурированию кода на клиенте
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Выкинуть из головы весь код и сделать декомпозицию задачи в целом. И сразу станет понятно куда какой код «класть». Ну или может даже и код тоже декомпозировать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы