尝试在heroku上部署React + Node应用程序时出错

时间:2020-04-01 14:30:32

标签: node.js reactjs heroku

我有这样的项目结构:

- client/
- - package.json
- server/
- - package.json
- - server.js
- package.json

Client / package.json看起来是这样的:

"scripts": {
    "start": "set HTTPS=true&&react-scripts start",
    "build": "react-scripts build"
  },

Server / package.json看起来是这样的:

"scripts": {
    "dev": "nodemon server.js",
    "start": "node server.js"
},

主要package.json(来自根文件夹):

"scripts": {
    "client": "HTTPS=true npm start --prefix client",
    "server": "npm run dev --prefix server",
    "dev": "concurrently \"npm run start\" \"npm run client\"",
    "start": "npm install --prefix server && npm run start --prefix server",
    "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
  },

在server / server.js文件中,我有以下代码:

 if (process.env.NODE_ENV === "production") {
      app.use(express.static("../client/build"));

      app.get("*", (req, res) => {
        res.sendFile(path.resolve(__dirname, "client", "build", "index.html"));
      });
    }

应用始终总是崩溃,甚至第一次加载时也没有崩溃,

2020-04-01T14:24:45.687820+00:00 app[web.1]: 
2020-04-01T14:24:45.687843+00:00 app[web.1]: > app_name@1.0.0 start /app
2020-04-01T14:24:45.687844+00:00 app[web.1]: > npm install --prefix server && npm run start --prefix server
2020-04-01T14:24:45.687845+00:00 app[web.1]: 
2020-04-01T14:25:10.131545+00:00 app[web.1]: 
2020-04-01T14:25:10.131574+00:00 app[web.1]: > nodemon@2.0.2 postinstall /app/server/node_modules/nodemon
2020-04-01T14:25:10.131576+00:00 app[web.1]: > node bin/postinstall || exit 0
2020-04-01T14:25:10.131576+00:00 app[web.1]: 
2020-04-01T14:25:10.273163+00:00 app[web.1]: Love nodemon? You can now support the project via the open collective:
2020-04-01T14:25:10.273165+00:00 app[web.1]: > https://opencollective.com/nodemon/donate
2020-04-01T14:25:10.273166+00:00 app[web.1]: 
2020-04-01T14:25:10.844021+00:00 app[web.1]: npm WARN app_name@1.0.0 No repository field.
2020-04-01T14:25:10.844570+00:00 app[web.1]: npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules/fsevents):
2020-04-01T14:25:10.844767+00:00 app[web.1]: npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2020-04-01T14:25:10.845121+00:00 app[web.1]: 
2020-04-01T14:25:10.848348+00:00 app[web.1]: added 233 packages from 127 contributors and audited 417 packages in 24.151s
2020-04-01T14:25:11.162048+00:00 app[web.1]: 
2020-04-01T14:25:11.162057+00:00 app[web.1]: 4 packages are looking for funding
2020-04-01T14:25:11.162058+00:00 app[web.1]: run `npm fund` for details
2020-04-01T14:25:11.162058+00:00 app[web.1]: 
2020-04-01T14:25:11.163158+00:00 app[web.1]: found 0 vulnerabilities
2020-04-01T14:25:11.163159+00:00 app[web.1]: 
2020-04-01T14:25:11.765345+00:00 app[web.1]: 
2020-04-01T14:25:11.765361+00:00 app[web.1]: > app_name@1.0.0 start /app/server
2020-04-01T14:25:11.765362+00:00 app[web.1]: > node server.js
2020-04-01T14:25:11.765362+00:00 app[web.1]: 
2020-04-01T14:25:12.758832+00:00 app[web.1]: Server Listening on 5000
2020-04-01T14:25:12.968288+00:00 app[web.1]: MongoDB connected
2020-04-01T14:25:42.273564+00:00 heroku[web.1]: State changed from starting to crashed
2020-04-01T14:25:43.562949+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=app_name.herokuapp.com request_id=d000a4f6-da5e-486d-8a0e-641a78fd7199 fwd="46.188.125.237" dyno= connect= service= status=503 bytes= protocol=https
2020-04-01T14:25:44.316000+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=app_name.herokuapp.com request_id=88101831-b820-4566-95f5-a9c493c36046 fwd="46.188.125.237" dyno= connect= service= status=503 bytes= protocol=https

0 个答案:

没有答案