您好,我将react / express项目推送到了heroku(https://polar-oasis-57801.herokuapp.com/),并在控制台中收到以下错误: Chrome console error messages
我尝试查找此错误,似乎我需要更改manifest.json文件中的某些内容,但不确定。任何建议都会有所帮助。这是我的清单文件:
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
还有我在Github上的项目:https://github.com/bernar83/cat-cards
答案 0 :(得分:1)
此错误意味着对manifest.json
的请求未返回有效的JSON响应。鉴于它由于开始<
而失败,因此它可能返回HTML。
确保正确链接manifest.json
,并确保在部署过程中保持完整性。尝试导航到http://yoururl/manifest.json
并检查结果。
EDIT1:看来您到清单的链接已损坏。在https://github.com/bernar83/cat-cards/blob/master/client/public/index.html中,尝试替换
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
使用
<link rel="manifest" href="manifest.json" />
EDIT2:只需检查您的Heroku链接即可确认错误。您的页面试图在路径manifest.json
下找到/cat-cards/manifest.json
,这是错误的。它只能是manifest.json
答案 1 :(得分:0)
我在server.js文件中添加了此更改"/cat-cards/"
,现在为app.use("/cat-cards/", express.static("client/build"));
。添加该更改并推送到Heroku后,我的网站开始运作。这对我有帮助:https://github.com/facebook/create-react-app/issues/1812#issuecomment-286511320
答案 2 :(得分:0)
我有一个类似的问题。我将添加它,因为这是我在试图弄清楚时的最终结果。我在“不允许的JS”文件中包含了一些生成的图标图标标记。我的manifest.json位于我的src /目录中,因此粘贴在标记中的是引用不在我的公共根目录中的清单。然后,样板代码返回“此处不允许的JS” EJS HTML 作为manifest.json的实际返回值。,因此浏览器将其视为格式错误的JSON。...不理想。
因此,如果您的路由器将针对不良的HTTP请求返回此类信息(如Ant Design Pro一样),则可能是您的问题。
答案 3 :(得分:0)
是的,我遇到了这个问题,并为此付出了很多努力,然后我按照以下步骤进行了操作:https://github.com/facebook/create-react-app/issues/1812#issuecomment-286511320链接。它肯定有效。我感谢分享此链接的人。
答案 4 :(得分:0)
我遇到的问题也可以通过以下方式解决:
进入您的React应用中的package.json文件。
您将在顶部看到homepage属性,将其复制该URL即可将其删除。
如果将其删除,请再次创建内部版本并在express.static('./build')
中使用该内部版本。
如果您将其复制,则在快速服务器文件中的app.use("that copied url" , express.static('./build'))
中使用该URL。
答案 5 :(得分:0)
检查内部构建和公共文件夹中的 index.html。我遇到了同样的问题,只是发现问题与 Html 无关。
谢谢 比诺·辛格
答案 6 :(得分:0)
今天遇到了这个问题。我的团队的问题是在 server.js 文件中,void Start()
{
InvokeRepeating("spawnRandomAnimal",spawnDelay, spawninterval);
}
线在静态资产上方
app.use(routes)
将其移到下方允许站点适当地部署到 heroku。