Генерирует ли импорт модуля JavaScript запрос «get» на сервер?

#javascript #es6-modules

#javascript #es6-модули

Вопрос:

Я пытаюсь понять модули ES6 в JavaScript. Насколько я понимаю, это генерирует get-запрос на сервер для извлечения SomeClass.js:

 <script src="path/SomeClass.js"></script>
 

Если SomeClass является модулем, я могу сделать:

 import {SomeClass} from "path/SomeClass.js"
 

Генерирует ли это тот же запрос к серверу? Если я импортирую один и тот же модуль из двух отдельных файлов, генерируются ли два избыточных запроса? Если это так, есть ли хорошие способы сделать это более эффективно (например, импортировать в родительский класс, а затем передать его всем дочерним элементам, которым это нужно)?

Пожалуйста, исправьте мое понимание, если я ошибаюсь.

Ответ №1:

Браузеры не выполняют несколько HTTP-запросов для одного и того же модуля, даже если этот модуль импортируется несколько раз в одну JS-программу.

Поскольку файлы JS обычно меняются нечасто, вы можете использовать стандартные заголовки HTTP-ответов cache control, чтобы избежать перезагрузки модулей при повторном посещении страницы.

Комментарии:

1. Можете ли вы указать на какую-либо документацию, которая поддерживает это?