【问题标题】:Mern Stack Client Build Not Deployed On herokuHeroku 上未部署 Mern Stack 客户端构建
【发布时间】:2021-02-23 17:02:30
【问题描述】:

我尝试了很多次,但找不到问题需要银色帮助,请帮助任何人。当我部署在 heroku 后端路由上时,客户端构建静态不起作用

这是我的 github 仓库https://github.com/Tanvir-Niloy/Manobik_Narsingdi

【问题讨论】:

    标签: web heroku backend web-deployment mern


    【解决方案1】:

    Heroku 主要用于制作服务器端 api,因此您可以将其连接到客户端应用程序以使其具有服务器端。

    【讨论】:

      【解决方案2】:

      来自您的package.json

        "scripts": {      
          "start": "node server/server.js",
          "server": "nodemon server/server",
          "client": "npm start --prefix client",
          "dev": "concurrently \"npm run server\" \"npm run client\"",
          "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client"
        },
      

      您还有一个Procfile,内容为:web: node server/server.js

      如果没有Procfile,Heroku 会执行web: npm start,这与web: node server/server.js 相同。

      但正如您从start 脚本中看到的那样,您并没有执行您的客户端项目。您只是在运行后端,而不是在为您的静态网站提供服务。

      您要么需要在某个地方托管您的客户端项目(GitHub 有一些解决方案:GitHub pages、Netlify、Vercel 等),要么您需要从服务器项目中提供静态内容。您正在这样做,但到目前为止,您正在不断更改您的代码:

      app.use(express.static(Path.join(__dirname, '/client/build/static')))
      

      在我看来,您在这里遇到了路径问题。应该是 './../client/build/static' 假设构建文件放在 client 文件夹中。

      分享 build.log 也有助于查看您的项目是否在 Heroku 上正确构建。

      【讨论】:

      • 请添加到我的github repo,以便您轻松找到并解决问题
      猜你喜欢
      • 2021-12-25
      • 1970-01-01
      • 2021-09-23
      • 2020-05-12
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 2021-03-30
      相关资源
      最近更新 更多