Недостатки разделения кодов JavaScript?

У меня есть страница с множеством обработчиков событий. Теперь код достиг 1000+ строк кодов, и я начинаю испытывать трудности с чтением кодов. Теперь я планирую разделить коды на разные файлы. Мой вопрос в том, есть ли недостатки в разделении JS-кодов на разные файлы?

6 ответов

Disdvantages?

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

  • если вы используете текстовый редактор с автозаполнением, некоторые из этих редакторов не будут собирать материал из другого файла для автозаполнения. это может быть проблемой, если вы не memoize функции, которые у вас есть.

  • Если один из этих взаимозависимых файлов не загрузится, ваше приложение сломается.


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

Затем при развертывании приложения вы используете инструмент (например, закрытие Google или YUI Compressor), чтобы свести к минимуму и объединить все ваши файлы меньшего размера в один файл развертывания. Это сохраняет преимущества разработки файлов меньшего размера, которые содержат связанный код, сохраняя при этом преимущество развертывания, заключающееся в том, что большинство/весь код находится в одном более крупном внешнем файле javascript, который может быть загружен в один HTTP-запрос и может быть кэширован очень эффективно.


Недостатком была бы дополнительная сложность в том, чтобы убедиться, что вы включили все правильно. Но 1000 линий становятся громоздкими. Вот связанная страница о вызове объектов JavaScript в отдельных файлах


В дополнение к моему комментарию.

Используйте t4 шаблоны здесь, или вы можете использовать С# для записи javascript script #

в современных платформах разработчики не пишут javascript напрямую, например

  • в Rails, используя CoffeScript
  • в python, используя один из (py2js, pajamas, google V8, skulpt)
  • в С#, используя script #


Вот сообщение bolg о JSminify и подобных инструментах для использования с VisualStudio и автоматизации сборки: http://encosia.com/automatically-minify-and-combine-javascript-in-visual-studio/


Наличие отдельного кода в разных файлах помогает вам в обслуживании. Я предлагаю вам разделить его на модули, совместимые с CommonJS, если вы работаете в среде браузера, вы можете использовать RequireJS для загрузки их. Вы также можете использовать утилиту, предоставленную для создания одного файла при развертывании вашего веб-сайта/webapp, чтобы оптимизировать http-запросы.

licensed under cc by-sa 3.0 with attribution.