Как работает динамический import?

156
21 января 2021, 12:20

Со статическими импортами все более-менее понятно

import A from "a.js";

Сборщик натыкается на эту строку, зависимость резолвится и в конечном итоге попадает в готовый бандл.

С динамическими импортами уже возникают вопросы. Если значение подгружаемого модуля динамическое (что, насколько я знаю, невозможно со статическими импортами), например

import(`/assets/${ asset }`);

то имя подгружаемого модуля может стать известно только в рантайме.

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

Вот, собственно, и интересует, как. Там внутри что-то типа fetch?

И еще, это получается, все файлы, которые динамически импортируются, должны быть доступны извне? То есть если у меня, например, сервер настроен с фоллбэком на index для любого пути (clint-side routing то бишь), то нужно отдельно каждый файл, который может быть динамически подгружен, "открывать" для доступа по ссылке (чтобы скрипт его банально мог скачать)?

Или же каким-то образом все динамические импорты подпадают в бандл заранее и сразу отправляются клиенту? Но если так, то какой в этом смысл, если это не приводит к сокращению размера посылки (а это именно то, для чего динамические импорты создавались в первую очередь, насколько я понимаю)?

READ ALSO
Как передать action в компонент Redux ReactJS

Как передать action в компонент Redux ReactJS

Пробую передать action addProduct в компонент но при клике пишет ошибку, помогите справиться, зарание спасибо!

170
navbar bootstrap не корректно работает на компьютере

navbar bootstrap не корректно работает на компьютере

Выгрузил проект на хостинг, заметил одну проблемуНавигационная панель не корректно работает, вот 2 ситуации:

139
Вывод определенных объектов из массива

Вывод определенных объектов из массива

Всем приветУ меня есть функция при нажатие на которую я хочу получать объекты из массива только первой категории

148
Flex: 3 элемента 1 по центру остальные по краям

Flex: 3 элемента 1 по центру остальные по краям

Пытаюсь сделать верстку на флексах, есть три контейнера разной шириныДва должны быть по краям и один по центру

196