【发布时间】:2018-05-07 23:57:29
【问题描述】:
我正在使用react-scripts 并成功运行npm run build 以生成build 文件夹。
然后我通过运行 serve -s build 使用 serve npm 包在本地提供它。
serve 然后在 5000 端口上运行,这很好。
当我访问localhost:5000 的页面时,该页面停止运行,控制台中出现以下错误main.975cb3de.js:1 Uncaught SyntaxError: Unexpected token <。
我在控制台中打开 main.975cb3de.js 文件,它正在尝试提供 index.html 文件。
如果我清空浏览器缓存并重新加载页面,则加载正常。每次我运行构建时都会发生这种情况。
我怀疑serve 库中有配置但不太确定。
关于它为什么第一次尝试提供 HTML 以及如何解决这个问题有什么想法吗?
【问题讨论】:
-
显然您的代码某处存在语法错误,请在构建您的应用之前尝试在开发环境中查找任何问题。
-
@GiovanniKleinCampigoto 我不相信有语法错误。当我第一次运行它时,它只会给出这个错误。如果我使用
react-scripts start运行一切正常,但它不会从构建目录运行,这让我认为这不是语法错误。 -
如果你删除 build 文件夹,然后再次运行 build 命令会怎样?
-
还是同样的问题。 /build 中的 main.js 文件试图为 index.html 文件提供服务,这很奇怪。只有在构建后第一次点击页面时,一旦用户刷新它就可以了。这发生在多台计算机上。
-
也许您应该尝试使用 yarn 构建您的应用程序,推荐用于 CRA 应用程序:yarnpkg.com
标签: javascript reactjs npm serve react-scripts