我的项目结构如下:
Projects --- package.json
|-------Project1 ---- package.json
|-------Project2 ---- package.json
如果我yarn start
从运行cd Projects/Project1
,project1 react app会运行。
如果我yarn start
从运行cd Projects/Project2
,project2 react app将运行。
为了从Projects运行应用程序,我需要指定项目名称:例如: yarn start-Project1
我想使用yarn start从最顶层的目录运行我的两个项目。我想在不同的端口上运行项目。
如果我将package.json
“项目”中的更改为
"start": "cd Projects/Project1 && export PORT=3001 && cd ../Project2 && export PORT=3000 && react-scripts start",
它仅在项目的运行中。谢谢。
这是因为&&
操作员按顺序运行命令,这意味着每个命令在上一个命令退出后运行。您的Project1不会退出,它会无限期地坐在那里。
您需要并行运行两个命令。一种方法是使用&
而不是&&
。&
将在后台启动第一个命令,而不是等待其退出。
使用时,&
请注意操作顺序。您可以根据需要使用括号将顺序/并行命令分组。我认为此命令可能对您有用:
(cd Projects/Project1 && export PORT=3001) & (cd ../Project2 && export PORT=3000) & react-scripts start