You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用Makefile同时启动Django后端与React前端的问题

解决Makefile无法同时启动Django和React服务的问题

原Makefile的问题分析

你之前写的Makefile之所以只启动了Django服务、没启动React,核心有两个问题:

  • 命令阻塞:python backend/manage.py runserver是前台运行的命令,会一直占用当前进程,后面的cd frontend和npm start根本没机会执行。
  • Shell环境独立:Makefile里每一行命令默认在单独的子Shell中运行,cd frontend只会改变那个临时子Shell的工作目录,下一行的npm start还是在项目根目录执行,自然找不到React的配置文件。

正确的实现方案

要通过单个make run命令同时启动两个服务,得让两个服务都在后台运行(用&),同时确保每个服务的命令在正确的环境中执行。你更新后的思路是对的,这里再整理一下标准写法(注意Makefile的缩进必须用Tab键,不能用空格):

# 启动Django服务,后台运行
django:
    bash -c "python backend/manage.py runserver &"

# 切换到frontend目录并启动React服务,后台运行
react:
    bash -c "cd frontend && npm start &"

# 一键启动两个服务
run:
    make django
    make react

也可以简化成更紧凑的写法,直接在run目标中完成所有操作:

run:
    bash -c "python backend/manage.py runserver &"
    bash -c "cd frontend && npm start &"

使用小贴士

执行make run后,两个服务就会在后台同时启动。如果需要停止服务,可以用pkill python终止Django进程,用pkill node终止React进程,或者直接关闭终端窗口即可。

内容的提问来源于stack exchange,提问作者arshovon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:44:14