Можно ли искать модуль js в 2 разных папках, отдавая приоритет одной над другой?
Мне нужно создать настраиваемое веб-приложение, и я подумал, можно ли и как использовать загрузку модуля es6 в сочетании с веб-пакетом для переопределения отдельных файлов большого стека приложений.
Итак, давайте предположим, что у меня есть структура каталогов, как:
./src
|--/core
|--|--moduleA.js
|--|--moduleB.js
|--|--app.js
|--/theme
|--|--moduleB.js
и мой контент app.js похож
import moduleA from "./moduleA";
import moduleB from "./moduleB";
console.log(moduleA); // out: i am from core!
console.log(moduleB); // out: i am from theme!
Таким образом, каталог theme / просто переопределяет файлы ядра...
Есть ли способ решить эту проблему с помощью конфигурации загрузчика веб-пакетов или мне нужно запустить предварительную сборку, в которой я копирую все файлы из ядра в третье местоположение, затем то же самое для каталога темы, за которым следует сборка из этого третьего каталог.
Я знаю, как решить эту проблему с помощью третьего расположения и объединить файлы src, но я бы предпочел решить эту проблему с помощью веб-пакета.
1 ответ
Это должно быть возможно с модулями разрешения.
Вы можете добавить оба core
а также theme
как модули. определять theme
Сначала веб-пакет выглядит там первым.
modules: [
path.resolve(__dirname, "src/theme"),
path.resolve(__dirname, "src/core"),
'node_modules',
]
Затем импортируйте модули без относительного пути. Просто from "moduleA"