我有一个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”用作备用。
这是我在github中的应用程序结构 https://github.com/sollama/reactJS-portfolio
这是我的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))
Package.json:
"scripts": {
"dev": "parcel src/index.html",
"build": "parcel build src/index.html",
"start": "node server.js" ,
"heroku-postbuild":"npm run build"
},
所有这些都超级新,所以我不确定下一步该怎么看,我将不胜感激!
答案 0 :(得分:0)
包裹的默认输出目录是dist
,而不是public
。这就是您要传递给express.static
中间件的目录,以便它在正确的目录中查找资源。
app.use('/', express.static(path.join(__dirname, 'dist')))