Управление сложностью JavaScript в большом проекте

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

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

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

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

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

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

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

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

5
задан dm03514 18 January 2012 в 19:47
поделиться