Код: Выделить всё
import(`./components/${name}.js`);
Можно также использовать каталоги с другой глубиной, если все фрагменты имеют одинаковую глубину:
Код: Выделить всё
import(`./components/${superName}/${subName}.js`);
У меня более сложная структура папки компонентов:
Код: Выделить всё
components/
├─ Baz.js
├─ FooBar/
│ ├─ Bar.js
│ ├─ Foo.js
├─ Qux.js
В идеале я бы хотел написать код примерно так, где pathAndName может быть Baz, FooBar/Bar, FooBar/Foo или Qux:
Код: Выделить всё
import(`./components/${pathAndName}.js`);
Глобы имеют глубину только на один уровень
При создании глобусов каждая переменная в строке преобразуется в глобус * с максимум одной звездочкой на глубину каталога. Это позволяет избежать непреднамеренного добавления файлов из многих каталогов при импорте.
И если я попробую нужный код, я получаю в браузере ошибку, подобную следующей:
Ошибка: динамический импорт неизвестной переменной: ./comComponents/FooBar/Bar.js. Обратите внимание, что переменные представляют имена файлов только на один уровень глубины.
Если бы это был Webpack, я бы сделал следующее, и это не было бы проблемой:
Код: Выделить всё
import(
/* webpackInclude: /\.js$/ */
`components/${chunk_name}`
);
Подробнее здесь: https://stackoverflow.com/questions/798 ... tory-depth
Мобильная версия