Reactjs 将MERN/Mongo Atlas应用程序部署到Heroku:&x27;无法获取/';错误

Reactjs 将MERN/Mongo Atlas应用程序部署到Heroku:&x27;无法获取/';错误,reactjs,mongodb,heroku,deployment,mern,Reactjs,Mongodb,Heroku,Deployment,Mern,我知道有很多关于这个问题的帖子。我看到的一个常见修复方法是将Mongo Atlas上的0.0.0.0/0列入白名单,以便Heroku访问数据库 我试过了,我也试过在白名单后重新部署应用程序,但也没有成功。 老实说,我已经有一段时间没有部署任何东西了,所以如果我忘记了一些基本的东西,我道歉 无论如何,我的过程: 使用以下终端cmds将应用程序部署到Heroku heroku登录, heroku git:remote-应用程序名称, git推送heroku主机 在Heroku上,打开应用程序 我的控

我知道有很多关于这个问题的帖子。我看到的一个常见修复方法是将Mongo Atlas上的0.0.0.0/0列入白名单,以便Heroku访问数据库

我试过了,我也试过在白名单后重新部署应用程序,但也没有成功。 老实说,我已经有一段时间没有部署任何东西了,所以如果我忘记了一些基本的东西,我道歉

无论如何,我的过程:

  • 使用以下终端cmds将应用程序部署到Heroku
  • heroku登录, heroku git:remote-应用程序名称,
    git推送heroku主机

  • 在Heroku上,打开应用程序
  • 我的控制台上出现以下错误:

    app-name.herokuapp.com/:1 Failed to load resource: the server responded with a status of 404 (Not Found)
    app-name.herokuapp.com/:1 Refused to load the image 'https://app-name.herokuapp.com/favicon.ico' because it violates the following Content Security Policy directive: "default-src 'none'". Note that 'img-src' was not explicitly set, so 'default-src' is used as a fallback.
    
    app-name.herokuapp.com/:1 Failed to load resource: the server responded with a status of 404 (Not Found)
    
    Heroku日志:

    2020-09-30T17:32:50.085184+00:00 app[web.1]: 
    2020-09-30T17:32:50.085206+00:00 app[web.1]: > app-name@1.0.0 start /app
    2020-09-30T17:32:50.085206+00:00 app[web.1]: > node server.js
    2020-09-30T17:32:50.085207+00:00 app[web.1]: 
    2020-09-30T17:32:50.741371+00:00 app[web.1]: WARNING: NODE_ENV value of 'production' did not match any deployment config file names.
    2020-09-30T17:32:50.742187+00:00 app[web.1]: WARNING: See https://github.com/lorenwest/node-config/wiki/Strict-Mode
    2020-09-30T17:32:50.792845+00:00 app[web.1]: Server started on port: 45624
    2020-09-30T17:32:51.002983+00:00 app[web.1]: Connected to MongoDB..
    2020-09-30T17:32:51.085455+00:00 heroku[web.1]: State changed from starting to up
    2020-09-30T17:33:16.267290+00:00 heroku[router]: at=info method=GET path="/" host=app-name.herokuapp.com request_id=a5a8caa9-76bc-4ed6-92b9-360856613a70 fwd="67.243.187.129" dyno=web.1 connect=1ms service=24ms status=404 bytes=383 protocol=https
    2020-09-30T17:34:13.165875+00:00 app[api]: Starting process with command `npm run dev` by user d.cint88@gmail.com
    2020-09-30T17:34:21.327003+00:00 heroku[run.8330]: State changed from starting to up
    2020-09-30T17:34:21.583207+00:00 heroku[run.8330]: Awaiting client
    2020-09-30T17:34:21.619341+00:00 heroku[run.8330]: Starting process with command `npm run dev`
    2020-09-30T17:34:31.061875+00:00 heroku[run.8330]: Process exited with status 1
    2020-09-30T17:34:31.121147+00:00 heroku[run.8330]: State changed from up to complete
    
  • 在终端中启动服务器
  • 我的应用程序在本地运行的cmd是
    npm run dev
    ,它同时用于运行
    nodemon服务器
    npm start

    所以我试着在它的开头添加
    heroku run
    。所以<代码>heroku运行npm运行开发

    这是结果

    Running npm run dev on ⬢ app-name... up, run.8330 (Free)
    > app-name@1.0.0 dev /app
    > concurrently "npm run server" "npm run client"
    [0] 
    [0] > app-name@1.0.0 server /app
    [0] > nodemon server.js
    [0] 
    [0] sh: 1: nodemon: not found
    [0] npm ERR! code ELIFECYCLE
    [0] npm ERR! syscall spawn
    [0] npm ERR! file sh
    [0] npm ERR! errno ENOENT
    [0] npm ERR! app-name@1.0.0 server: `nodemon server.js`
    [0] npm ERR! spawn ENOENT
    [0] npm ERR! 
    [0] npm ERR! Failed at the app-name@1.0.0 server script.
    [0] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    [0] 
    [0] npm ERR! A complete log of this run can be found in:
    [0] npm ERR!     /app/.npm/_logs/2020-09-30T17_34_26_618Z-debug.log
    [0] npm run server exited with code 1
    [1] 
    [1] > app-name@1.0.0 client /app
    [1] > npm start --prefix client
    [1] 
    [1] 
    [1] > client@0.1.0 start /app/client
    [1] > react-scripts start
    [1] 
    [1] sh: 1: react-scripts: not found
    [1] npm ERR! code ELIFECYCLE
    [1] npm ERR! syscall spawn
    [1] npm ERR! file sh
    [1] npm ERR! errno ENOENT
    [1] npm ERR! client@0.1.0 start: `react-scripts start`
    [1] npm ERR! spawn ENOENT
    [1] npm ERR! 
    [1] npm ERR! Failed at the client@0.1.0 start script.
    [1] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    [1] npm WARN Local package.json exists, but node_modules missing, did you mean to install?
    [1] 
    [1] npm ERR! A complete log of this run can be found in:
    [1] npm ERR!     /app/.npm/_logs/2020-09-30T17_34_27_709Z-debug.log
    [1] npm ERR! code ELIFECYCLE
    [1] npm ERR! errno 1
    [1] npm ERR! app-name@1.0.0 client: `npm start --prefix client`
    [1] npm ERR! Exit status 1
    [1] npm ERR! 
    [1] npm ERR! Failed at the app-name@1.0.0 client script.
    [1] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    [1] 
    [1] npm ERR! A complete log of this run can be found in:
    [1] npm ERR!     /app/.npm/_logs/2020-09-30T17_34_27_875Z-debug.log
    [1] npm run client exited with code 1
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! app-name@1.0.0 dev: `concurrently "npm run server" "npm run client"`
    npm ERR! Exit status 1
    npm ERR! 
    npm ERR! Failed at the smash-hosting@1.0.0 dev script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /app/.npm/_logs/2020-09-30T17_34_27_981Z-debug.log
    
    这是我的package.json,以防yall也需要它:

    {
      "name": "app-name",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "client-install": "npm install --prefix client",
        "start": "node server.js",
        "server": "nodemon server.js",
        "client": "npm start --prefix client",
        "dev": "concurrently \"npm run server\" \"npm run client\""
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "dependencies": {
        "bcryptjs": "^2.4.3",
        "concurrently": "^5.0.0",
        "config": "^3.2.4",
        "express": "^4.17.1",
        "jsonwebtoken": "^8.5.1",
        "moment": "^2.26.0",
        "mongoose": "^5.7.12",
        "react-icons": "^3.10.0",
        "react-tournament-bracket": "^0.2.4"
      },
      "devDependencies": {
        "nodemon": "^1.19.4"
      }
    }