Введение

Структура папок — это одна из первых проблем, которую вам нужно будет решить, когда вы начинаете новый веб-проект, ориентированный на клиента. Для облегчения сопровождения клиент-ориентированных веб-приложений крайне важно организовать папки таким образом, чтобы вам было легко ориентироваться в проекте. Поскольку проекты становятся все более и более сложными, это может помочь разработчику сориентироваться.

Параметры структуры папок

Есть много способов организовать структуру папок, но, на мой взгляд, есть два основных варианта:

1. По типам файлов

2. По логическим модулям

В небольших проектах/SPA вы можете использовать первый подход, так как он более удобен, и у вас не так много файлов в приложении.
В средних и крупных проектах/SPA второй вариант предпочтительнее ИМХО.

Как организовать папки по типам файлов?

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

На следующем рисунке показано, как может выглядеть структура папок для примера AngularJS:

Как организовать папки по логическим модулям?

Чтобы организовать структуру папок по логическим модулям, сначала определите логические модули на стороне клиента. Примерами логических модулей могут быть поиск, корзина, альбом и так далее. Как только вы разделите свою клиентскую часть на логические модули, вы можете начать создавать структуру папок.

Чтобы объяснить, как вы создаете структуру папок, я снова воспользуюсь примером AngularJS. В папке приложения создайте папку с именем логического модуля. В каждой папке модуля создайте следующие папки:

  • контроллеры
  • директивы
  • фильтры
  • Сервисы
  • взгляды

Если есть объекты общего назначения, которые относятся к более чем одному логическому модулю, создайте общую папку и поместите все эти компоненты в эту папку. В общей папке вы должны сохранить разделение, которое вы использовали в каждом логическом модуле. Все библиотеки, которые используются в приложении, должны храниться в папке app/libs или app/vendor. Мое предложение состоит в том, чтобы разделить их на папки с именем библиотеки.

На следующем рисунке показано, как может выглядеть предлагаемая структура папок:

Резюме

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