Один и тот же скрипт, использующий два js-файла?

StackOverflow https://stackoverflow.com/questions/432729

  •  10-07-2019
  •  | 
  •  

Вопрос

Признаюсь, я не слишком много знаю о javascript, в основном я просто "краду и изменяю" от Javascript.com и Dynamic Drive.
Я наткнулся на несколько сценариев, которые вызывают два файла .js

<script type="text/javascript" src="lib/prototype.js">  
</script>
<script type="text/javascript" src="src/aptabs.js">  
</script>  

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

Это было полезно?

Решение

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

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

Другие советы

Часто бывает полезно разделить код на разные темы. Эти два файла могут прийти из разных мест. Скажем, прототип обновлен, и вы хотите нового совершенства. Затем вы можете просто заменить файл prototype.js на своем сервере, а не редактировать огромный файл и выполнить операцию на нем.

РЕДАКТИРОВАТЬ: это также "лучше" для браузера, чтобы иметь возможность кэшировать файлы по отдельности. Если ваш вопрос связан с необходимостью дублирования этого блока кода в нескольких html-файлах, я предлагаю вам сделать один его фрагмент со стороны сервера и включить его в html-файлы любым удобным для вас способом / чувствовать себя комфортно.

Я почти уверен, что javascript не знает, из какого файла он загружен, поэтому не должно быть проблемы при его объединении ...

Лично я бы держал их отдельно. Это упростит координацию управления версиями и т. Д. Для большинства повторных посещений скрипт все равно будет кэшироваться браузером, поэтому 2 на 1 не является большой проблемой. Но когда вы обновляете одно (или другое), клиенту нужно загрузить только половину. Но опять же, поскольку он обычно кешируется, это не важная персона!

Так что для простоты - сохраните сценарии в их первоначальном виде. Учитывая ваш вступительный комментарий "Я не слишком много знаю о javascript", это, безусловно, лучший подход; Я не имею в виду это пренебрежительно - просто, если что-то пойдет не так, вам не нужно искать, сломали ли вы это или уже сломали.

Редактировать: также легко упорядочить, например, если вы используете два сценария, которые используют ту же терминологию, что и $ в jQuery, который также поддерживает режим с явным присвоением имен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top