Я использую webpack с preact-async-router, который позволяет разбивать и загружать кодовую базу в пакеты. Работает хорошо, но бандлы располагаются в одной папке и имеют плоскую структуру. Ожидаю проблем с производительностью при большом количестве комплектов.
await import("app/module/page")
По умолчанию preact-async-router загружает пакеты по соответствующему пути. Т.е. если src / a / b / c.tsx, тогда http get /a/b/bundle.11.js. Я использую обходной путь publicPath: "/" для этого, и любой путь заменяется пустой строкой, но это не решает проблемы с большой папкой пакета.
output: {
filename: "./bundle.js",
publicPath: "/"
},
Я попытался поиграть с именами файлов и ключами пути, используя для них функции для генерации динамического пути вывода, но это не работает. Функция вызывается только один раз, потому что там 1 входной файл. Файлы вспомогательного пакета не могут использоваться в качестве точек входа (для перезагрузки страницы я использую правила перезаписи для загрузки index.html, если путь указывает на 404).
В скобках нет правильной переменной, содержащей путь к исходному файлу.
Итак, если есть способ оценить функцию имени файла для каждого файла, тогда publicPath можно удалить.