React / Webpack исключает обновляемый файл конфигурации из комплекта - PullRequest
0 голосов
/ 01 октября 2018

Приложение 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...