React 应用程序在“npm start”期间工作,但在构建后返回 404

Posted

技术标签:

【中文标题】React 应用程序在“npm start”期间工作,但在构建后返回 404【英文标题】:The React App works during `npm start` but returns 404 after build 【发布时间】:2019-06-22 19:28:09 【问题描述】:

我正在开发一个 React 应用程序,在 npm start 期间一切正常。在我执行npm run build 并在构建文件夹下运行serve -s build 之后,终端告诉我它正在服务但是当我签出http://localhost:5000/ 时,它是

404 找不到请求的路径

然后我安装了 live-server 并在 build 文件夹下运行 live-server,应用程序再次正常工作。但我不明白为什么serve -s build 不能正常工作。

有什么想法吗?

【问题讨论】:

如果您从构建文件夹中运行serve -s 是否有效? @GabrielePetrioli 是的,它有效!谢谢!我不明白为什么终端告诉我运行serve -s build @GabrielePetrioli 你能把它作为答案然后 xfx 可以接受你的答案。 serve -s 也对我有用。 【参考方案1】:

这不起作用,因为您已经在构建文件夹中运行该命令。

如果您运行 serve --help,您可以查看此命令的使用文档。 serve 命令接受 folder_name 的输入作为它应该提供的文件。如果未指定文件夹,它将为您在其中运行命令的文件夹提供服务(这就是 Gabriele 的上述回复解决了您的问题的原因)。您可以从包含 build 文件夹的父文件夹运行 serve -s build 命令,它也可以工作。

【讨论】:

【参考方案2】:

可能当你运行你的应用程序时,你的应用程序的端口是开放的,检查你是否在监听:

查找

[sudo] lsof -i: 3000

kill -9 <PID>

【讨论】:

以上是关于React 应用程序在“npm start”期间工作,但在构建后返回 404的主要内容,如果未能解决你的问题,请参考以下文章

在 create-react-app 之后 React npm start 不起作用

为啥 React 应用程序在运行“npm start”命令时会出错?

在 React 应用程序中运行 npm start 时出现 babel-jest 依赖问题

尝试在 iPhone 上构建 React Native 应用程序时出现“npm start”错误?

sh: react-scripts: 运行 npm start 后找不到命令

react使用create-react-app后npm start报错