28.09.2016, 22:43
|
Интересующийся
|
|
Регистрация: 04.08.2014
Сообщений: 29
|
|
оптимизация. загрузка js-файла
Простите, я новичок в JavaScript. Можете ответить на вопрос
Как лучше все скрипты засунуть в один файл или в различные файлы?
|
|
29.09.2016, 00:51
|
Интересующийся
|
|
Регистрация: 04.08.2014
Сообщений: 29
|
|
Poznakomlus,
спасибо большое, а то мне говорили, что мол лучше скрипты которые редко будут использоваться (или могут вообще не использоваться [например, если на сайте имеются различные роли доступа к функционалу]) в отдельный файл вынести.
вот если зашел пользователь у него обычная роль загружать 1 файл, а если зашел другой пользователь с ролью допустим агент, у которого больше функционала, загружать 2 файла.
Последний раз редактировалось oryth, 29.09.2016 в 00:55.
|
|
29.09.2016, 01:46
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от oryth
|
роли доступа к функционалу
|
должны отслеживаться серверными технологиями
потому как ничто не мешает изменит мне ваш js в процессе выполнения включив отладку
преимущество одного файла, в том, что это один запрос
файл при правильных заголовках сервера попадает в кеш и в дальнейшем берется локально с кеша клиента
|
|
29.09.2016, 01:50
|
Профессор
|
|
Регистрация: 12.04.2010
Сообщений: 557
|
|
Сообщение от oryth
|
Poznakomlus,
спасибо большое, а то мне говорили, что мол лучше скрипты которые редко будут использоваться (или могут вообще не использоваться [например, если на сайте имеются различные роли доступа к функционалу]) в отдельный файл вынести.
вот если зашел пользователь у него обычная роль загружать 1 файл, а если зашел другой пользователь с ролью допустим агент, у которого больше функционала, загружать 2 файла.
|
Есть такое дело, некоторая часть кода может не загружаться изначально.
При использовании уже упомянутого вебпэка это легко сделать - с помощью require.ensure. Если какие модули берутся только внутри колбэка этой функции, то оные скрипты в отдельный файл(ы) собраны будут, и подгрузится это дело только при первом использовании, а не сразу со страницей.
подробности тут - https://learn.javascript.ru/screencast/webpack , часть 4, п. 1
|
|
29.09.2016, 02:05
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
Сообщение от Яростный Меч
|
часть кода может не загружаться изначально.
|
Есть такое дело. require использует динамическую загрузку скриптов. Скрипты загружаются асинхронно, не затормаживая отзывчивость сайта.
Но есть еще и другой подход, где на страницах наоборот подгружают скрипты, которые не используются на данной странице, но могут использоваться в дальнейшем.
Все зависит от задачи и специфики сайта(приложения)
|
|
29.09.2016, 02:43
|
Интересующийся
|
|
Регистрация: 04.08.2014
Сообщений: 29
|
|
у меня сейчас так реализовано:
роли (всего роли 3) определяются на стороне сервера (с помощью asp), при входе в приложение, с помощью window аутентификации. если роль (пользователь) то загружается 1 файл, если роль (агент) то 2 файла, если роль админ то 3 файла. так же в зависимости от этих ролей (то есть доступность различных кнопок, просмотров и тому подобное) страница собирается на asp. так мне так оставить? или три этих файла соединить в один.
З.Ы, спасибо за ссылки. но я еще не все прочитал про JavaScript
|
|
29.09.2016, 02:54
|
|
Профессор
|
|
Регистрация: 13.03.2013
Сообщений: 1,572
|
|
не надо соединять, отдавайте каждому свой функционал
|
|
29.09.2016, 04:02
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,584
|
|
Соединить, но для каждого отдельно, если роли часто не меняются туда-сюда. Сервер не помрёт от пары(десятков?) лишних мегабайт.
__________________
29375, 35
|
|
|
|