Правильное управление javascripts для большого сайта / конкатенации кода - PullRequest
2 голосов
/ 31 декабря 2010

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

В моих целях подход с использованием огромных файлов не только привел бы к затруднению сопровождения сценария, но и содержал много ненужного JavaScript. В то же время разделение javascript так, чтобы в него был включен только необходимый код, привело бы к чрезмерному количеству файлов / HTTP-запросов. Идея включения даже небольшого количества ненужного кода кажется противоречащей концепции правильного проектирования программного обеспечения, помимо дополнительных затрат на размер файла для пользователя.

Я нашел модуль mod_concat для Apache, который, похоже, полностью решил бы мою проблему - я мог бы разделить свои javascripts на столько файлов, сколько захочу, включить только те, которые необходимы, и практически не повлиять на производительность.

Это действительно так? Единственный потенциальный недостаток - необходимость управлять многими файлами? Я знаю, что mod_concat не существовал вечно, поэтому я также ищу немного информации о том, a) как это обрабатывалось раньше, и b) если даже с конкатенацией кода, включая умеренное количество ненужного javascript, считается приемлемым ( или даже лучшая практика).

Спасибо, Брайан

1 Ответ

2 голосов
/ 31 декабря 2010

Я не думаю, что вам нужен модуль Apache для этого. Лучше всего создать один минимизированный файл JS для производства, поскольку он загружается только один раз, а затем кэшируется браузером. Хотя для разработки, конечно, имеет смысл разделить ваше приложение на отдельные файлы.

Мой личный фаворит для управления модулями JavaScript и его сжатия - Steal JS , который является частью великолепной JavaScript MVC фреймворка (может быть вообще интересен для больших JS-приложений). Он может загружать файлы модулей динамически во время разработки, а для производства вы можете создать один сжатый файл JavaScript (он также может делать CSS).

Другая альтернатива - RequireJS , но я только взглянул на нее.

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