Django / React - Stati c Main. js файл с AWS размещением статических файлов - PullRequest
0 голосов
/ 07 февраля 2020

Я создаю приложение с Django в качестве внутреннего интерфейса и React в качестве внешнего интерфейса. У меня уже есть встроенный сервер, и теперь я пытаюсь создать компоненты React.

Моя проблема в том, что сейчас у меня есть мои stati c файлы, размещенные на AWS. Поэтому каждый раз, когда я изменяю компонент, мне нужно запускать collectstati c - django, чтобы мой шаблон Django прочитал обновленный файл Main. js.

сталкивался с этой проблемой раньше? Я новичок в React, поэтому мне может не хватать очень простого решения.

Спасибо !!

Ответы [ 2 ]

1 голос
/ 08 февраля 2020

Это необходимость.

Вместо этого я бы рекомендовал нажимать на AWS только после того, как вы проверили и хотите, чтобы изменения вступили в силу.

0 голосов
/ 11 февраля 2020

Из того, что я могу понять, похоже, что ваш веб-интерфейс (приложение и компоненты React) слишком связан с бэкэндом (ваше приложение django). Я бы посоветовал вам запустить приложение реагирования как отдельное приложение, которое можно разрабатывать локально и немедленно реагировать на изменения, которые вы вносите (если вы настроите свое приложение с помощью create-react-app, эта горячая перезагрузка выйдет из коробки). Затем, если вы хотите sh связаться с вашим бэкэндом, вы должны сделать это, используя http (обычно в JSON), или, если у вас есть медиа или другие файлы, через систему хранения файлов, такую ​​как AWS S3. Таким образом, вам не нужно собирать файлы приложения django каждый раз, когда вы что-то меняете на своем веб-интерфейсе.

Однако, если вы хотите, чтобы ваш внешний интерфейс выходил из вашего main.js, вы все равно могли бы быстрее выполнить перезагрузку, если ваш сервер django dev будет обслуживать ваши stati c файлы. Если вы уже установили переменную настроек STATICFILES_STORAGE, вы можете проверить, находитесь ли вы в режиме разработки или в производственном режиме, с помощью переменной DEBUG (которая обычно устанавливается в False в производственной среде), например:

if not DEBUG:
    STATICFILES_STORAGE = '<insert-your-staticfiles-backend-here>'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...