create-реагировать-приложение: куда я могу поместить динамически загруженные изображения? - PullRequest
0 голосов
/ 23 мая 2018

Привет! Я работаю с приложением create-реакции-приложением. Я настроил загрузку файлов, которая позволяет отправлять изображения на сервер и сохранять локально (в каталоге сборки проектов).Я могу динамически ссылаться на изображения через localhost: 4000 / image.png, чтобы он уже работал (то есть: у меня есть блог, который позволяет загружать изображения, к которым я позже получаю доступ через blogList).

Однако я решил, чтоэто, вероятно, не лучшее место для динамической загрузки изображений в.Я прочитал документы по созданию-реакции-приложению, и оба места, в которых упоминаются изображения, похоже, не подходят для моего случая использования, я чувствую, что я определенно что-то делаю неправильно, но я не уверен, что.

документы imссылается на: говорит, что использовать «импорт», однако я загружаю динамически, поэтому я не могу видеть, как это будет работать?https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-images-fonts-and-files

говорит, что использовать public, но не требует ли это перестройки?Так как я загружаю динамически, это невозможно: https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#when-to-use-the-public-folder

ПРИМЕЧАНИЕ: у меня есть загрузчик изображений и работает отлично, он работает уже с использованием каталога / build.Я могу загружать и динамически ссылаться на изображения.Я просто ищу лучшие практики для того, чтобы сделать что-то подобное.Спасибо!(если вы упомянули «просто используйте nginx», не могли бы вы немного рассказать о реализации)

1 Ответ

0 голосов
/ 23 мая 2018

Как ученик, я боролся с этой проблемой и пробовал разные подходы некоторое время назад.Для редко используемых ресурсов использование / public для клиента может быть полезным, но у меня есть приложение, в котором клиенты загружают изображения и управляют ими.Как и вы, мне не понравились эти подходы, и я получил такую ​​настройку.

  • Создайте каталог / public на бэкенде и загрузите изображения в / public / images
  • Служите / public каталогс Express статически.
  • Использовать переменную динамического пути (через настройку конфигурации) для путей к изображениям.http://localhost:backend_port/public/images для разработки и / public / images для производства.

Я не знаю, что это лучший подход, но он сработал для меня.Помимо наилучшего подхода при загрузке изображений до этой установки, CRA обновлял (горячая перезагрузка) мое приложение после каждой загрузки изображений.

...