【问题标题】:Run two scripts that don't end in package.json运行两个不以 package.json 结尾的脚本
【发布时间】:2019-02-09 08:04:27
【问题描述】:

我正在尝试启动 json-server 并在 package.json 中的同一脚本中启动我的 React-App ...

但问题是这两个脚本都没有给我提示,所以第二个脚本永远不会启动......

我试过了:

"scripts": {
   "start": "npm run start-db & npm start-react",
   "start-react": "react-scripts start && exit 1",
   "start-db": "json-server --watch src/bdd.json -p 3001 && exit 1"
}

&&& 的不同组合... 有或没有exit 1(我发现here 的东西)

【问题讨论】:

  • 打开多个终端并在单独的终端中运行每个终端
  • 嗯......这就是我目前正在做的......难道不能将它合并到 package.json 中吗?
  • 我不这么认为,因为它们都是独立的服务器。两者都在不同的端口号上,对吗?
  • 是的 react-scripts start 在默认端口 ( 3000 ) 上服务,这就是我为 json-server 命令指定 -p 3001 的原因
  • 这是两台服务器。您不能在一个 shell 上运行服务器的多个实例。这是因为服务器必须继续运行并在查询时提供数据。当您退出时,没有服务器可以监听查询。

标签: reactjs npm package.json


【解决方案1】:

您可以使用concurrently 之类的工具。

"scripts": {
    "start": "concurrently \"npm:start-db\" \"npm:start-react\"",
    "start-react": "react-scripts start",
    "start-db": "json-server --watch src/bdd.json -p 3001"
}

使用npm i --save-dev concurrently安装后。

【讨论】:

    【解决方案2】:

    你可以像这样传递多个命令

    npm run start-db start-react
    

    【讨论】:

    • 仍然卡在json-server --watch src/bdd.json -p 3001 命令中并且不启动react app
    • 我没有收到任何错误...脚本只是在等待记录用户与服务器的交互,例如GET /people 304 15.296 ms...所以它不会回手...所以第二个脚本未启动
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 1970-01-01
    • 1970-01-01
    • 2022-11-20
    • 2018-08-22
    • 2019-07-28
    • 2012-05-19
    相关资源
    最近更新 更多