Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.09.2016, 22:43
Интересующийся
Отправить личное сообщение для oryth Посмотреть профиль Найти все сообщения от oryth
 
Регистрация: 04.08.2014
Сообщений: 29

оптимизация. загрузка js-файла
Простите, я новичок в JavaScript. Можете ответить на вопрос
Как лучше все скрипты засунуть в один файл или в различные файлы?
Ответить с цитированием
  #2 (permalink)  
Старый 28.09.2016, 23:39
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

в один файл
по возможности минимизировать http://closure-compiler.appspot.com/home
и сжать http://compressorrater.thruhere.net/
мы же разработчики используем для данных целей сборщики(плагины)
интегрированные в IDE (YUI compressor, UglifyJS ...) или включаемые в пакет разработки плагины к примеру https://learn.javascript.ru/screencast/webpack
Ответить с цитированием
  #3 (permalink)  
Старый 29.09.2016, 00:51
Интересующийся
Отправить личное сообщение для oryth Посмотреть профиль Найти все сообщения от oryth
 
Регистрация: 04.08.2014
Сообщений: 29

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

Последний раз редактировалось oryth, 29.09.2016 в 00:55.
Ответить с цитированием
  #4 (permalink)  
Старый 29.09.2016, 01:46
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от oryth
роли доступа к функционалу
должны отслеживаться серверными технологиями
потому как ничто не мешает изменит мне ваш js в процессе выполнения включив отладку
преимущество одного файла, в том, что это один запрос
файл при правильных заголовках сервера попадает в кеш и в дальнейшем берется локально с кеша клиента
Ответить с цитированием
  #5 (permalink)  
Старый 29.09.2016, 01:50
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Сообщение от oryth Посмотреть сообщение
Poznakomlus,
спасибо большое, а то мне говорили, что мол лучше скрипты которые редко будут использоваться (или могут вообще не использоваться [например, если на сайте имеются различные роли доступа к функционалу]) в отдельный файл вынести.
вот если зашел пользователь у него обычная роль загружать 1 файл, а если зашел другой пользователь с ролью допустим агент, у которого больше функционала, загружать 2 файла.
Есть такое дело, некоторая часть кода может не загружаться изначально.

При использовании уже упомянутого вебпэка это легко сделать - с помощью require.ensure. Если какие модули берутся только внутри колбэка этой функции, то оные скрипты в отдельный файл(ы) собраны будут, и подгрузится это дело только при первом использовании, а не сразу со страницей.

подробности тут - https://learn.javascript.ru/screencast/webpack , часть 4, п. 1
Ответить с цитированием
  #6 (permalink)  
Старый 29.09.2016, 02:05
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Яростный Меч
часть кода может не загружаться изначально.
Есть такое дело. require использует динамическую загрузку скриптов. Скрипты загружаются асинхронно, не затормаживая отзывчивость сайта.
Но есть еще и другой подход, где на страницах наоборот подгружают скрипты, которые не используются на данной странице, но могут использоваться в дальнейшем.
Все зависит от задачи и специфики сайта(приложения)
Ответить с цитированием
  #7 (permalink)  
Старый 29.09.2016, 02:43
Интересующийся
Отправить личное сообщение для oryth Посмотреть профиль Найти все сообщения от oryth
 
Регистрация: 04.08.2014
Сообщений: 29

у меня сейчас так реализовано:
роли (всего роли 3) определяются на стороне сервера (с помощью asp), при входе в приложение, с помощью window аутентификации. если роль (пользователь) то загружается 1 файл, если роль (агент) то 2 файла, если роль админ то 3 файла. так же в зависимости от этих ролей (то есть доступность различных кнопок, просмотров и тому подобное) страница собирается на asp. так мне так оставить? или три этих файла соединить в один.
З.Ы, спасибо за ссылки. но я еще не все прочитал про JavaScript
Ответить с цитированием
  #8 (permalink)  
Старый 29.09.2016, 02:54
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

не надо соединять, отдавайте каждому свой функционал
Ответить с цитированием
  #9 (permalink)  
Старый 29.09.2016, 04:02
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Соединить, но для каждого отдельно, если роли часто не меняются туда-сюда. Сервер не помрёт от пары(десятков?) лишних мегабайт.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка кода в js из другого файла candro Общие вопросы Javascript 1 04.03.2015 13:11
загрузка файла oleg666 jQuery 1 30.06.2011 17:57
Загрузка файла и JavaScript DDestroy Events/DOM/Window 8 04.02.2011 12:28
Загрузка файла без использования формы Slavenin AJAX и COMET 20 12.12.2010 12:41
Не работает корректно загрузка файла в IE rroman Javascript под браузер 0 08.10.2010 19:12