同时运行两个npm命令

时间:2018-12-18 03:52:45

标签: reactjs create-react-app json-server

我已设置json-server并在port-3000上成功运行,然后运行npm start在其他端口3001上运行。

但是我想同时运行两个。我尝试了Concurrently,但是没有用。

当我执行此命令时:

$ concurrently "npm start" "json-server --watch ./topPanelData.json"

错误消息:

Error message

3 个答案:

答案 0 :(得分:0)

您可以使用

终止在端口3000中运行的进程
kill $(lsof -t -i:3000)

哪里

lsof -t -i:3000

找到在端口3000上运行的进程,并用kill杀死该进程

如果仅在使用concurrently时遇到此错误,则意味着它试图在端口3000中运行两个进程

尝试在package.json

中更改启动脚本
"start": "export PORT=3006 react-scripts start"

通过一些实验,您将能够弄清楚。

答案 1 :(得分:0)

这些步骤已解决的问题:

  1. 使用以下密钥创建json-server.json,以便在其他端口上运行服务器。

    { "port": 4000 }

  2. 更新package.json中的启动脚本

    "start": "concurrently \"react-scripts start\" \"json-server ./topPanelData.json\""

  3. 仅运行$ npm start,它将同时在不同的端口上执行

    json服务器: http://localhost:4000/topPanelData

    反应应用: http://localhost:3000/

答案 2 :(得分:0)

只需在您的porject目录中创建一个与.json文件平行的 .env 文件,并在以下行添加即可。

import java.util.concurrent.locks.*;

class Lock1 extends ReentrantLock{
}

class Main{
public void test() throws InterruptedException{
synchronized(this){
Lock1 m = new Lock1();    
System.out.println("line 1");
m.lock();
System.out.println(m.getHoldCount());
System.out.println(m.isHeldByCurrentThread());
System.out.println("line 2");
m.wait();
System.out.println("line 3");
}
}
public static void main(String[] args) throws InterruptedException{
Main t1 = new Main();
t1.test();
}
}

此解决方案对我有用。