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”错误?