python - 用于运行 Django 后端和 React 前端的 Makefile

标签 python django python-3.x reactjs makefile

我正在开发一个由 Django REST Framework 开发并由 React 应用程序提供服务的项目。

后端和前端之间有一个隔断。路径的结构为:

Root
├── backend
├── frontend
├── makefile
├── readme.md
├── requirements.pip
└── venv

目前,我通过打开两个不同的终端来运行该项目。然后我先启动 django 服务器,然后启动 React 应用程序。

在终端 1 中,我启动 django 服务器:

cd backend
python manage.py runserver

在终端 2 中,我启动 React 应用程序:

cd frontend
npm start

因此,每次运行项目时都需要重做这些命令,这是相当烦人的。最近,我听说了 makefile。我认为这会减少启动项目的命令数量。

我创建了以下makefile:

run:
    python backend/manage.py runserver
    cd frontend
    npm start

当我编写 make run 时,它成功启动了 Django 服务器,但没有启动 React 应用程序。

我在这里缺少什么?我可以使用 make 在一个命令中运行这两个命令吗?

更新: 问题解决了。

更新后的makefile包含:

django:
    bash -c "python backend/manage.py runserver"

react:
    bash -c "cd frontend && npm start"

run:
    make django & make react

最佳答案

python backend/manage.py runserver仍在运行,尚未返回,因此未执行下一个命令。

我能想到的一个解决方案是使用 & 符号,因此第二个命令不需要等待第一个命令返回: python backend/manage.py runserver & cd frondend && npm start

关于python - 用于运行 Django 后端和 React 前端的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48047276/

相关文章:

python - 将列表格式化为字符串 Python

django - 使用直通模型了解 Django 中的多对多字段

python - 如何从 Django Rest Framework 序列化程序返回不同时区的 DateTime

python - openAi-gym 名称错误

python - 从app引擎python查询TXT记录(DNS)

python - 与 Python3 numpy.random.rand 计算的 C++ 中相同的随机数

django - 无服务器 AWS Lambda/Django/Zappa 的异步任务队列

python - `yield from foo()` 和 `for x in foo(): yield x` 之间的区别

python - 在特定文本之后和特定文本之前刮取文本

python - 神经网络识别手写数字: Dealing with multiple outputs