【发布时间】:2020-05-17 09:44:51
【问题描述】:
我已经在 Heroku 中部署了一个 React + NodeJS 应用程序,部署进展顺利,运行了几个小时。但是,在缓存删除后,它现在拒绝加载页面。错误如下:
Refused to apply style from 'https://flix-reloaded.herokuapp.com/src.78399e21.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
和
GET https://flix-reloaded.herokuapp.com/src.78399e21.js net::ERR_ABORTED 404 (Not Found)
第一个,MIME 错误是指 Parcel 构建生成的缩小文件。它在位于dist 文件夹内的index.html 文件中调用。这是调用它的行:
<link rel="stylesheet" href="/src.78399e21.css">
它的孪生.js 文件也在index.html 中被调用:
<script src="/src.78399e21.js"></script>
问题 1):我不知道如何使 CSS 文件被接受。在其中,有一些从 SCSS 原始文件中导入的与每个组件相关的 cmets。我尝试删除 cmets 并将文件的 type 添加为 CSS,但它没有奏效。这应该是一个微妙的细节,但我不知道还能尝试什么。
问题 2: Heroku 找不到的 JS 文件与 index.html 位于同一文件夹中。但是,应用程序的路由已定义为将 client (Router basename="/client") 作为根 (https://flix-reloaded.herokuapp.com/client)。如果我使用client (https://flix-reloaded.herokuapp.com/client/src.78399e21.css) 手动键入 URL,则找到该文件,但更改 index.html 中文件的路径(您可以在下面看到)解决了 404 问题,但带来了另一个问题(说系统 js 文件中的“
我尝试运行另一个 Parcel 构建,提交更改,清理缓存,但没有任何效果。谁能给我一些帮助?如有必要,我很乐意提供更多详细信息。
index.html 文件代码位于 dist 文件夹(生产文件所在的位置)中:
<html>
<head>
<title>myFlix</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css">
<link rel="stylesheet" href="/src.78399e21.css"></head>
<body>
<div class="app-container"></div>
<script src="/src.78399e21.js"></script>
</body>
</html>
提前致谢
【问题讨论】:
标签: node.js reactjs heroku react-router parceljs