Работа над большими приложениями JavaScript - PullRequest
7 голосов
/ 31 августа 2010

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

Мы написали плагин maven для объединения этих файлов (также работает компрессор YUI). Однако для каждого изменения требуется 3-10 секунд компиляции.

Необходим ли этот шаг для организации большого приложения, я чувствую, что хорошо структурированный HTML-файл, включающий все эти ресурсы, сэкономил бы мне 45 минут каждый день.

Ответы [ 3 ]

1 голос
/ 31 августа 2010

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

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

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

0 голосов
/ 31 августа 2010

Скорее всего, вы сэкономите много времени, только запустив компрессор в производство. Компрессор YUI общеизвестно медленный, потому что он использует интерпретатор Java Rhino для фактического анализа JavaScript и его анализа и т. Д.

0 голосов
/ 31 августа 2010

Решение может объединяться и сжиматься только для пользовательского тестирования и производства.

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

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

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