【问题标题】:How do you deploy api made with express in create react app您如何在创建反应应用程序中部署使用 express 制作的 api
【发布时间】:2020-10-26 20:43:08
【问题描述】:

我有一个用 express.js 创建的简单 api。当我尝试推送到 Heroku 时,它会卡在这一点上吗?

remote:        [4/4] Building fresh packages...
remote:        Done in 16.30s.
remote:        
remote: -----> Build
remote:        Running build (yarn)
remote:        yarn run v1.22.4
remote:        $ node server.js
remote:        Server started on port 9000 

我在 heroku 仪表板“查看构建进度”中也看到了同样的内容

这是我的 package.json

{
  "name": "firebase-server",
  "version": "1.0.0",
  "main": "index.js",
  "repository": "##########",
  "author": "#######",
  "license": "MIT",
  "scripts": {
    "start": "nodemon --ext js,graphql --ignore data/ server.js",
    "build": "node server.js"
  },
  "dependencies": {
    "@firebase/app": "^0.6.7",
    "@firebase/component": "^0.1.15",
    "apollo-server-express": "^2.15.1",
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "express-jwt": "^6.0.0",
    "firebase": "^7.15.5",
    "graphql": "^15.3.0",
    "jsonwebtoken": "^8.5.1",
    "notarealdb": "^0.2.2"
  },
  "devDependencies": {
    "nodemon": "^2.0.4"
  }
}

我在这个项目中唯一拥有的是我的 server.js。我错过了什么或没有做什么。基本上我试图部署它来为我的项目提供一个实时 API。它在本地工作,但现在我想让它在 heroku 上实时工作。

【问题讨论】:

    标签: express heroku create-react-app react-apollo apollo-server


    【解决方案1】:

    对于 Heroku,如果您需要 customize your build options(例如,如果您使用 WebPack 或 TypeScript),则使用 build 脚本。问题是您正在使用一个名为build 的脚本,您希望它启动应用程序。它正在运行该脚本,正如它所承诺的那样,但由于它正在启动应用程序,因此从您的角度来看,它将“永远挂起”。

    如果您将脚本更改为此,我认为这将解决您的问题。在本地,您可以使用 npm local 来表示 nodemon,npm start 会在 Heroku 上启动应用程序。

    {
      "scripts": {
        "local": "nodemon --ext js,graphql --ignore data/ server.js",
        "start": "node server.js"
      },
    }
    

    【讨论】:

    • 感谢 Dan Crews 并添加了您的更改并已部署,但现在我有 404。我在上面添加了更多注释。
    • @DelormeGrant 我建议您不要将原来的问题(答案有效)更改为新问题。 StackOverflow 的存在是为了让问题和答案可以帮助社区。请将您原来的问题放回原处,如果您有新问题,请提出新问题。欢迎你标记我,我可能会看到。
    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 2018-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多