должен ли весь javascript перейти в отдельный файл js

каковы критерии, если определенный jQuery или обычный javascript должен быть встроенным или в отдельном js-файле?

6 ответов


Это зависит от многих факторов

1. Кэширование

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

подробнее сделать JavaScript и CSS внешние

2. Уменьшить HTTP-запрос

путем делать встроенное кодирвоание вы можете уменьшить число запросов HTTP которое метод оптимизирования одной страницы.

подробнее об этом минимизировать HTTP-запросы

3. Ремонтопригодность

сделав внешний файл javascript и css, будет проще поддерживать код. Вам не нужно изменять каждую страницу для изменений, которые будут применены.

4. Minification

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

подробнее JavaScript-Кода

здесь я нашел хорошую статью о

Наддув Javascript


Это чище, если все это во внешнем файле. Держите CSS и Javascript в своих собственных удаленных файлах для чистоты и лучшего обслуживания. Единственное исключение из этого правила я делаю для себя, когда мне нужно вывести некоторые динамические значения javascript при загрузке страницы: я могу сделать это в голове html-документа.


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


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

Что касается встроенного javascript, я бы постарался избежать этого как можно больше, потому что это затрудняет отслеживание ошибок, но нечетное время полезно такое как сделать слой div в ссылку.


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

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


сохранение javascript inline позволяет многим ide выполнять автозаполнение переменных. А если в JS в отдельный файл эта функция недоступна.

Это довольно большое дело, имхо. И я очень удивлен, что IDE в настоящее время не может сканировать и индексировать использование файла javascript и, таким образом, предоставлять разумные параметры автозаполнения.