Один и тот же скрипт, использующий два js-файла?
-
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, который также поддерживает режим с явным присвоением имен. р>