ReactJS Heroku部署错误:无法加载资源:服务器以状态404响应(未找到)

时间:2020-03-17 20:19:35

标签: javascript node.js reactjs heroku package

我有一个ReactJS应用程序,正在尝试在heroku上进行部署。它在本地运行良好,但部署不正确!在页面上,我收到无法获取/

应用链接:https://nameless-spire-06291.herokuapp.com/

控制台错误: 1.加载资源失败:服务器响应状态为404(未找到) 2.拒绝加载图像'https://nameless-spire-06291.herokuapp.com/favicon.ico',因为它违反了以下内容安全策略指令:“ default-src'none'”。请注意,未明确设置“ img-src”,因此将“ default-src”用作备用。

  1. 这是我在github中的应用程序结构 https://github.com/sollama/reactJS-portfolio

  2. 这是我的server.js供参考:

    const express = require('express')
    const app = express()
    const path = require('path')
    const port = process.env.PORT || 3001
    
    app.use('/', express.static(path.join(__dirname, 'public')))
    
    app.listen(port, () => console.log("Listening on Port", port)) 
    
  3. Package.json:

    "scripts": {
        "dev": "parcel src/index.html",
        "build": "parcel build src/index.html",
        "start": "node server.js" ,
        "heroku-postbuild":"npm run build"
    },
    

所有这些都超级新,所以我不确定下一步该怎么看,我将不胜感激!

1 个答案:

答案 0 :(得分:0)

包裹的默认输出目录是dist,而不是public。这就是您要传递给express.static中间件的目录,以便它在正确的目录中查找资源。

app.use('/', express.static(path.join(__dirname, 'dist')))