推送失败 Heroku:无法解析 '/frontend/src' 中的 './views/Home'

Push failed Heroku: Can't resolve './views/Home' in '/frontend/src'

我第一次尝试将 MERN 堆栈应用程序推送到 Heroku。当我 运行 在本地机器上构建产品时,Express 成功地为 React 应用程序提供服务。如果您有任何建议,请告诉我。

根据 Heroku Node.js 疑难解答我...

package.json

中的指定节点和 npm 版本
  "type": "module",
  "version": "1.0.0",
  "engines": {
    "node": "16.x",
    "npm": "8.x"
  },

指定了构建包。

$ heroku buildpacks
=== my-app Buildpack URL
heroku/nodejs

日志的相关部分似乎是:

 Creating an optimized production build...
   Failed to compile.
   
   Module not found: Error: Can't resolve './views/Home' in '/tmp/build_b656807b/frontend/src'
   
   
 -----> Build failed
   
   We're sorry this build is failing! You can troubleshoot common issues here:
   https://devcenter.heroku.com/articles/troubleshooting-node-deploys
   
   If you're stuck, please submit a ticket so we can help:
   https://help.heroku.com/
   
   Love,
   Heroku
   
  !     Push rejected, failed to compile Node.js app.
  !     Push failed

这是package.json

中的脚本
  "scripts": {
    "client": "npm start --prefix frontend",
    "start": "node backend/server",
    "server": "nodemon backend/server",
    "dev": "concurrently \"npm run server\" \"npm run client\"",
    "heroku-postbuild": "NPM_CONFIG_PRODUCTION=false npm install --prefix frontend && npm run build --prefix frontend"
  }

这已解决...

  1. 正在删除 Home 组件并使用不同的名称重新创建它。

  2. 正在从 .env 中删除 PORT 变量。

  3. 将 Express 侦听器设置为默认查找 Heroku 端口,并将故障转移到开发端口。

    const 端口 = process.env.PORT || 6060