Структура сайта BackboneJS - PullRequest
       7

Структура сайта BackboneJS

6 голосов
/ 14 октября 2011

Хорошо, я пытаюсь обдумать всю эту вещь backboneJS . Я понимаю, что вы должны разделить свой сайт на модули и разбить каждый модуль на Модели, Коллекции и Представления, как описано в в этом примере .

Моя файловая структура JS в настоящее время выглядит следующим образом:

-js
  -application.js

  -lib
    -jquery.min.js
    -backbone.min.js
    -underscore.min.js

  -modules
    -newsfeed.js //activity feed
    -file.js // page to upload files to
    -members.js // page that show other members of group
    //-general-site-logic.js??

У меня два вопроса:

  1. Должна ли вся логика приложения управляться из BackboneJS ? Если нет, то где эта отдельная логика должна находиться в моей структуре приложения? Конечно, магистраль не может контролировать всю вашу активность на стороне клиента. А как насчет деятельности, в которой нет коллекций?

  2. Должен ли я использовать RequireJS для управления модулями при использовании BackboneJS или нет? Я нашел этот пример , но он, кажется, еще больше усложняет и без того запутанные концепции Backbone.

Я собираюсь приступить к созданию очень тяжелого javascript-приложения и очень хочу сделать это правильно, прежде чем мой код начнет расти!

Ответы [ 2 ]

8 голосов
/ 14 октября 2011

Самое замечательное в Backbone - это то, что это просто набор полезных частей, которые вы можете собрать, как захотите. Вы можете организовать это как хотите.

Конечно, магистраль не может контролировать все ваши действия на стороне клиента.

Почему бы и нет? У меня довольно большое клиентское приложение, где весь код (кроме плагинов jQuery и т. Д.) Написан с использованием конструкций Backbone (Представления, Модели, Коллекции, Маршрутизаторы).

В нашем случае мы используем Rails, поэтому нам не нужно беспокоиться о необходимости использования других файлов JS. Мы разбиваем проект на множество файлов js (coffee), и «конвейер ресурсов» объединяет все это в один файл js для нас. (нам нужно сообщить конвейеру ресурсов некоторые правила упорядочения, однако ... модели перед коллекциями, коллекции перед представлениями и т. д.)

Когда мы делаем это, у нас есть следующие настройки:

-assets
  -javascripts
    -backbone
      -collections
      -helpers
      -models
      -routers
      -templates
      -views
      -bootstrapper.js

Конечно, именно так МЫ делаем это. Для более крупных проектов я всегда знаю, где найти мои компоненты, и мы создаем подпапки для наших различных подвидов. Например:

-views
  -people
    -people_list.js
    -people_item.js
  -orders
    -order_list.js
    -order_item.js
    -order_form.js

Однако в небольших проектах вы можете поместить все в один файл JS, и это не будет проблемой. Большинство игрушечных примеров выложены таким образом.

Промежуточный макет может быть чем-то, где вы просто отделяете свои модели от своих представлений как это:

-models.js // models and collections
-routers.js
-views.js

Полагаю, что вы должны получить из этого: "Организуйте, как вам хочется" Делайте то, что имеет смысл для размера проекта и понимания вашей команды организации.

Магистраль обеспечивает структуру. Тем не менее, не ясно, как устроена эта структура.

0 голосов
/ 01 июля 2012

Если это поможет, у меня есть начальная загрузка , стартер проекта, включающий backbone.js, coffeescript, sinatra, jasmine и скелет .

Это поможет вам начать работу со структурой проекта и сэкономит ваше время на интеграцию стека технологий. Также использует скелет CSS для адаптивного дизайна.

...