代码之家  ›  专栏  ›  技术社区  ›  Nicholas Porter

react脚本build then serve提供的是html,而不是main。js文件

  •  0
  • Nicholas Porter  · 技术社区  · 6 年前

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

    然后,我通过运行 serve -s build

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

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

    我打开 main.975cb3de.js 文件,它正在尝试为 index.html 文件

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

    我怀疑 提供 但不太确定。

    有没有想过为什么它第一次尝试提供HTML以及如何解决这个问题?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Nicholas Porter    6 年前

    我通过更新 serve 打包到版本 6.5.6 利用 --cache 运行发球时标记。

    1. npm update -g serve

    结果表明,当使用 -s 标记为serve时,默认缓存为1天。我不得不禁用这个缓存,从而修复了这个问题。

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

    第二条命令是解决问题的关键。