Управление сложностью JavaScript в большом проекте - PullRequest
5 голосов
/ 18 января 2012

Что я должен использовать для управления растущим числом файлов JavaScript в моем приложении?

Мы создаем приложение django с несколькими приложениями. Каждое приложение имеет разные функциональные возможности и должно отображаться в трех разных режимах (ПК, планшет, мобильный телефон). В JavaScript происходит много вещей: управление данными, полученными с сервера, обработка пользовательских событий, внедрение фрагментов HTML и загрузка подкомпонентов. Некоторые функции совместно используются приложениями и режимами просмотра, но часто имеет смысл писать конкретные функции (например, события зависания и щелчка, возможно, придется обрабатывать по-разному на макете ПК и макете планшета), поэтому мы группируем это в файлах, основанных на приложении / макете / функции.

До того момента мы использовали плоскую файловую структуру с именами для различения типов файлов:

ui.common.js
ui.app1.pc.handlers.js
ui.app1.pc.domManupulators.js
ui.app1.tablet.js
ui.app2.pc.js 
...

Однако сейчас, когда количество приложений (и угловых случаев) растет, этот путь быстро становится непригодным (мы приближаемся к 20+ файлам и ожидаем около 40+ к тому времени, как закончим), поэтому мы положить все в каталоги так:

js/
  common/
    core1.js
    ajax2.js
  app1/
    tablet.js
    pc.js
  app2/
    mobile.js
    ...

Я искал JavaScriptMVC , чтобы помочь с этим. Несмотря на то, что он предлагает полезные инструменты, у него, похоже, нет ничего, что определенно улучшило бы управление нашей гигантской библиотекой JavaScript. Мы скоро расширяем нашу команду разработчиков, и поддержка кода очень важна.

Есть ли что-то, что может облегчить нашу жизнь? Существуют ли какие-либо привычки / практические правила, которые вы используете в своей работе, которые могут облегчить это?

Ответы [ 2 ]

2 голосов
/ 18 января 2012

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

А вот и сайт , чтобы узнать больше с учебными пособиями.

1 голос
/ 18 января 2012

Как правило, предпочтительнее группировать библиотеки по общности (как ваш второй пример).Однако, что более важно, вы должны убедиться, что у вас есть пространство имен или иным образом сделать их уникальными, так что вы вряд ли столкнетесь с именами других потенциальных скриптов.

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