Eu estou trabalhando em um projeto que é desenvolvido pelo Django REST Framework e servido pelo aplicativo React.
Há uma partição entre o back end e o front end. A estrutura do caminho é:
Root
├── backend
├── frontend
├── makefile
├── readme.md
├── requirements.pip
└── venv
Atualmente, eu corro o projeto abrindo dois terminais diferentes. Então eu inicio o servidor django primeiro e depois inicio o aplicativo reagir.
No terminal 1, inicio o servidor django:
cd backend
python manage.py runserver
No terminal 2, inicio o aplicativo reagir:
cd frontend
npm start
Então, é muito irritante refazer esses comandos toda vez que executar o projeto. Recentemente, eu ouvi sobre makefile
. Acho que isso reduzirá o número de comandos para iniciar o projeto.
Eu criei o seguinte makefile
:
run:
python backend/manage.py runserver
cd frontend
npm start
Quando escrevo make run
ele inicia com sucesso o servidor Django, mas ele não inicia o aplicativo React.
O que estou perdendo aqui? Posso executar os dois comandos em um único comando usando make
?
Atualizar: Problema resolvido.
A atualização makefile
contém:
django:
bash -c "python backend/manage.py runserver"
react:
bash -c "cd frontend && npm start"
run:
make django & make react
Respostas:
1 para resposta № 1python backend/manage.py runserver
ainda está rodando e ainda não retornou, então o próximo comando não é executado.
Uma solução que posso pensar é usar o &
símbolo para que o segundo comando não precise esperar que o primeiro retorne:
python backend/manage.py runserver & cd frondend && npm start