React 应用程序在 `npm start` 期间工作,但在构建后 returns 404

The React App works during `npm start` but returns 404 after build

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

404 The requested path could not be found

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

有什么想法吗?

也许当你运行你的应用程序时,你的应用程序的端口是打开的,检查你是否正在监听:

查找

[sudo] lsof -i: 3000

杀死

kill -9 <PID>

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

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