Рекомендации: структура папок для клиента и сервера с использованием create-реагировать на приложение - PullRequest
0 голосов
/ 18 февраля 2019

Недавно я выполнил несколько небольших проектов с бэкэндом Node и веб-интерфейсом React с использованием create-реагировать-приложение.Хотя я потратил довольно много времени на изучение передовых методов работы со структурами папок, я не смог найти удовлетворительное решение, не выбрав приложение реакции.Интересно, есть ли какие-то решения, которые я еще не нашел?

Структура папок, к которой я стремлюсь, выглядит примерно так:

package.json
src/
   client/
     app.js
     ...
   server/
   index.js (node.js main file, could just as well be in server/)

Этот макет позволитмне запустить все скрипты из корневой папки, и я могу поместить все конфигурации в один package.json.Например, я хотел бы иметь возможность просто запустить npm test из корневой папки, которая затем использовала бы jest для запуска как клиентских, так и серверных тестов.

Насколько я могу судить, create-реагировать на приложение жестко ожидать src/index.js при использовании npm start, что не позволяет мне использовать эту структуру папок - если я просто переместить весь шаблон, сгенерированный create-react-app в папке клиента. У меня есть ужасная папка src/client/src, которая также содержит свой собственный package.json.Я думаю, я мог бы разделить его по-разному, создав client/src и server/src, но у меня все еще есть отдельные файлы package.json в каждом каталоге.

Буду рад услышать о вашем опыте с этим, возможно, я упускаю очевидное решение.

1 Ответ

0 голосов
/ 18 февраля 2019
   mainDir/
      app/
        src/
          index.js
        package.json
      api/
        src/
          index.js
        package.json

Я следую этому шаблону для разработки приложений в микросервисной архитектуре.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...