我已经使用 craco build 生成了 react 应用程序的生产版本。我已经覆盖了以下一些内容:
在 package.json 中:
"homepage": "myapp/"
在 craco.config.js 中:
webpack: {
configure: (webpackConfig, { env, paths }) => {
if (env == 'production') {
paths.appBuild = path.join(paths.appBuild, 'myapp');
webpackConfig.output.path = path.resolve(webpackConfig.output.path, 'myapp');
}
return webpackConfig;
}
该应用程序托管在 docker 容器中的 nginx 服务器上
当我点击 url:https://myhost/myapp/ 时,我得到一个 index.html 作为响应:
<link href="/myapp/static/css/33.0e344166.chunk.css" rel="stylesheet">
<link href="/myapp/static/css/main.057ad034.chunk.css" rel="stylesheet">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script src="/myapp/static/js/33.ce7e6a0c.chunk.js"></script>
<script src="/myapp/static/js/main.06d5e454.chunk.js"></script>
</body>
</html>
我能够正确加载所有 js 和 css 文件(检查每个请求的响应)
但是,应用程序未加载,并给出以下错误:
Refused to execute script from 'https://<host>/myapp/static/js/33.be32b7c7.chunk.js' because its MIME type ('text/plain') is not executable, and strict MIME type checking is enabled.
chunk.js 文件和 chunk.css 文件都会发生这种情况。
这是否意味着 index.html 应该具有type="text/css"
chunk.css 和type="application/javascript"
chunk.js 文件的属性?如果是,我该如何覆盖它?