Загружать необязательный файл конфигурации во время выполнения при компиляции приложения с помощью веб-пакета
Мое приложение реагирует читает настройки из config.json
файл во время разработки (используя webpack-dev-server). Это работает нормально (требуется перезагрузка браузера для перезагрузки изменений конфигурации). Когда я создаю производственный код, пакеты отправляются в /build
,
я добавил externals
к моему webpack.prod.config.js
Так что мой config.json
файл скопирован с app/assets/config.json
в build/config.json
, Пока все хорошо.
{
...
externals: {
appConfig: JSON.stringify(require("./app/assets/config.json"))
},
...
}
Проблема в том, что испущенный конфиг не загружается во время выполнения в производственном коде.
Я могу внести изменения в файл, но ничего не изменится, даже перезапустить веб-сервер и обновить браузер, что и было целью config.json
,
Я предполагаю, что нет никакого способа достичь этого, так как webpack работает на node.js с доступом к файловой системе, а целевой вывод - "web", где доступ к файловой системе недоступен?
В любом случае, если я неправильно понял или сделал неверное предположение.
Обновить:
Я не пользовалась externals
в конце. Мой конфиг был отправлен в build
использование каталога CopyWebpackPlugin
, В процессе разработки (с использованием горячей замены модуля) редактирование файла конфигурации приведет к перестройке веб-пакета.
В производственной сборке я получаю конфигурацию через HTTP-вызов axios. Веб-сервер был настроен на чтение каталога сборки (не в реальном производстве!).