Приложение My React использует веб-пакет для объединения ресурсов, которые затем помещаются в образ Docker для развертывания.У меня есть набор переменных конфигурации, которые я хочу добавить в файл JSON, который может быть прочитан моим приложением во время выполнения.Например, ключи API или URL-адреса API, которые могут быть изменены в любое время.Этот JSON-файл будет обновляться по мере необходимости с помощью конфигураций и секретов Kubernetes.
Я просмотрел много сообщений и решений, но ни одно из них, похоже, не работает правильно.
Например, еслиЯ пробую решения по ссылкам ниже, файл JSON поставляется вместе с другими ресурсами.Я должен перезапустить webpack / build заново, чтобы изменения в файле JSON отразились на моем приложении.
Webpack - включить файл конфигурации в качестве внешнего ресурса
Как сохранить файл конфигурации и прочитать его с помощью React
Любой способ использовать веб-пакет для загрузки ресурса во время выполнения?
Какой лучший способсправиться с моим требованием?
Моя структура проекта выглядит следующим образом:
├── config
│ └── jsonConfig.prod.json (This will be updated on the server)
├── src (My react application code which gets bundled via webpack)
Содержимое jsonConfig.prod.json:
{
"name": "my-app"
}
Мой webpack.config.js
externals: {
'jsonConfig': JSON.stringify(PRODUCTION ? require('./jsonConfig.prod.json') : require('./jsonConfig.dev.json'))
}
В моем коде (после npm run build
):
import * as jsonConfig from 'jsonConfig';
console.log(jsonConfig.name); // my-app
Я изменяю содержимое файла jsonConfig.prod.json:
{
"name": "my-app2"
}
В моем коде (та же сборка, что и раньше):
import * as jsonConfig from 'jsonConfig';
console.log(jsonConfig.name); // Still my-app