Разделение кода JavaScript на несколько файлов: лучшие практики - PullRequest
5 голосов
/ 06 мая 2011

Я работаю только 2 недели с ExtJS. И весь мой код выглядит как один большой файл. У меня есть много включенных панелей и других объектов ExtJS в коде. Похоже на большое дерево) Кто-нибудь может дать несколько простых советов для определения, хранения частей кода файлов JS?

Ответы [ 2 ]

3 голосов
/ 06 мая 2011

Вещи, которые вписываются в их собственный файл, делятся на две широкие категории:

Модели

Любая функция конструктора объекта.Любой набор функций, которые обрабатывают данные.Любая бизнес-логика.Валидационная логика.

Все, что логически манипулирует данными на странице без записи / чтения из DOM.

Представления

Все, что отображается на странице.Файлы шаблонов.все, что манипулирует объектами DOM.

Существуют также разные вещи, которые вписываются в их собственные файлы

  • Связь сервер-клиент, веб-сокеты, ajax.
  • Микросреды
  • Вспомогательные пояса
  • Помощники маршрутизации.

Есть некоторые вещи, которые трудно внедрить в свои собственные файлы, такие как обмен сообщениями на основе событий, который связывает ваши представления с вашими моделями..

Как правило, вы хотите использовать упаковочный инструмент, чтобы смешать все ваши небольшие файлы в один большой файл для отправки на сервер, или использовать загрузчик модулей, например require .

Все, что вы считаете модульным, может быть помещено в собственный файл.

1 голос
/ 06 мая 2011

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

Так что для приложения, обучающего пользователей, как превращать своих минимально обученных медведей гризли в пожизненных компаньонов, вы можете получить такие файлы:

  • BearsAreNotDeadly.js
  • Search.js
  • Tutorials.js
  • GruesomePictures.js
  • ComplaintForm.js

... каждый из которых является частью приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...