react-scripts build then serve 正在服务 html,而不是 main.js 文件

react-scripts build then serve is serving html, not the main.js file

我正在使用 react-scripts 并成功 运行 npm run build 生成 build 文件夹。

然后我通过 运行ning serve -s build.

使用 serve npm 包在本地提供服务

serve 然后 运行 在端口 5000 上,这很好。

当我去 localhost:5000 访问页面时,页面停滞不前,控制台 main.975cb3de.js:1 Uncaught SyntaxError: Unexpected token < 中出现以下错误。

我在控制台中打开 main.975cb3de.js 文件,它正在尝试提供 index.html 文件。

如果我清空浏览器缓存并重新加载页面,则它可以正常加载。每次我 运行 构建时都会发生这种情况。

我怀疑serve库中有配置,但不太确定。

关于它为何尝试首次提供服务 HTML 以及如何解决这个问题有什么想法吗?

我能够通过使用 --cache 标志将 serve 软件包更新到版本 6.5.6 来解决问题 运行发球。

  1. npm update -g serve

事实证明,在服务中使用 -s 标志时,默认缓存为 1 天。我不得不禁用此缓存,这解决了问题。

  1. serve -s ./build --cache=-1

第二条命令对解决问题最为关键。