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

能否跨目录运行react-scripts start?多服务统一启动咨询

环境信息
  • Yarn版本:1.22.19
  • myapp目录下package.json的核心内容:
"main": "server/index.js",
...
"dependencies": {
    "concurrently": "^6.2.2",
    ...
    "nodemon": "^2.0.13",
    "nodemailer": "^6.6.5",
    ...
    "react": "^17.0.2",
    ...
    "react-scripts": "^5.0.0",
    ...
}
  • 项目文件结构:
myapp
 | -- client
 |     | -- build
 |     | -- public
 |     | -- src
 |
 | -- mailer
 |     | -- index.js
 |     
 | -- node_modules
 |
 | -- server
 |     | -- index.js
 |
 | -- package.json
 | -- yarn.lock
问题解答

问题1:是否可以从仅含public文件夹、无package.json的目录运行react-scripts start?

不行。react-scripts start依赖项目配置和依赖包,它需要读取当前/上级目录的package.json确认项目结构、依赖路径,同时要访问node_modules里的相关依赖组件。仅存public文件夹的目录没有这些必要的配置关联和依赖支撑,根本无法正常启动React开发服务。

问题2:终端在myapp目录时,能否用Yarn结合react-scripts同时启动client、mailer、server三个服务?

可以实现,但不是直接用react-scripts同时启动三个服务,而是借助已安装的concurrently并行执行多个启动命令:

  1. 先在myapp的package.json的scripts字段里添加对应启动命令:
"scripts": {
  "start-client": "cd client && react-scripts start",
  "start-server": "nodemon server/index.js",
  "start-mailer": "node mailer/index.js",
  "start-all": "concurrently \"yarn start-client\" \"yarn start-server\" \"yarn start-mailer\""
}
  1. 在myapp目录下执行以下命令:
yarn start-all

这样就能同时启动三个服务:react-scripts负责启动client的React开发服务,nodemon实现server服务的热重载,node直接启动mailer服务,concurrently则负责并行运行这三条命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 03:46:06