оптимизация. загрузка js-файла
Простите, я новичок в JavaScript. Можете ответить на вопрос
Как лучше все скрипты засунуть в один файл или в различные файлы? |
в один файл
по возможности минимизировать http://closure-compiler.appspot.com/home и сжать http://compressorrater.thruhere.net/ мы же разработчики используем для данных целей сборщики(плагины) интегрированные в IDE (YUI compressor, UglifyJS ...) или включаемые в пакет разработки плагины к примеру https://learn.javascript.ru/screencast/webpack |
Poznakomlus,
спасибо большое, а то мне говорили, что мол лучше скрипты которые редко будут использоваться (или могут вообще не использоваться [например, если на сайте имеются различные роли доступа к функционалу]) в отдельный файл вынести. вот если зашел пользователь у него обычная роль загружать 1 файл, а если зашел другой пользователь с ролью допустим агент, у которого больше функционала, загружать 2 файла. |
Цитата:
потому как ничто не мешает изменит мне ваш js в процессе выполнения включив отладку преимущество одного файла, в том, что это один запрос файл при правильных заголовках сервера попадает в кеш и в дальнейшем берется локально с кеша клиента |
Цитата:
При использовании уже упомянутого вебпэка это легко сделать - с помощью require.ensure. Если какие модули берутся только внутри колбэка этой функции, то оные скрипты в отдельный файл(ы) собраны будут, и подгрузится это дело только при первом использовании, а не сразу со страницей. подробности тут - https://learn.javascript.ru/screencast/webpack , часть 4, п. 1 |
Цитата:
Но есть еще и другой подход, где на страницах наоборот подгружают скрипты, которые не используются на данной странице, но могут использоваться в дальнейшем. Все зависит от задачи и специфики сайта(приложения) |
у меня сейчас так реализовано:
роли (всего роли 3) определяются на стороне сервера (с помощью asp), при входе в приложение, с помощью window аутентификации. если роль (пользователь) то загружается 1 файл, если роль (агент) то 2 файла, если роль админ то 3 файла. так же в зависимости от этих ролей (то есть доступность различных кнопок, просмотров и тому подобное) страница собирается на asp. так мне так оставить? или три этих файла соединить в один. З.Ы, спасибо за ссылки. но я еще не все прочитал про JavaScript |
не надо соединять, отдавайте каждому свой функционал :)
|
Соединить, но для каждого отдельно, если роли часто не меняются туда-сюда. Сервер не помрёт от пары(десятков?) лишних мегабайт.
|
Часовой пояс GMT +3, время: 18:02. |