在 CPanel 上部署 Node.js React 应用程序 - “加载资源失败:服务器响应状态为 404 ()”
Posted
技术标签:
【中文标题】在 CPanel 上部署 Node.js React 应用程序 - “加载资源失败:服务器响应状态为 404 ()”【英文标题】:Deploying a Node.js React App, on CPanel - 'Failed to load resource: the server responded with a status of 404 ()' 【发布时间】:2019-08-11 21:46:37 【问题描述】:我将构建文件夹上传到 CPanel public_html 文件夹,但是当我转到域“https://domain-name/build/”时,我只是得到一个空白页。当我查看页面源时,静态 js 和 css 文件出现“加载资源错误:服务器响应状态为 404 ()”。非常感谢任何帮助。
【问题讨论】:
您可以在本地环境中运行此静态构建吗?试试 Chrome 网络服务器,看看你是否有同样的错误。 我并不是说要运行“npm start”,因为它没有通过节点服务器使用您的静态构建和此命令。您需要查看您的构建配置并确保错误不是来自那里。 你在用create-react-app
吗?
【参考方案1】:
您似乎正在从一个子目录(/build
)为您的应用程序提供服务。要使其正常工作,您必须让前端构建器知道您在子目录中为您的应用程序提供服务。执行以下操作以使其工作,
我假设您使用的是create-react-app
,
首先,将basename
属性添加到您的路由中,
<Router basename='/build'>
/* your Route config */
</Router>
将homepage
属性更新为package.json
文件,
"homepage": "https://yourdomain/build",
同时更新路线
<Router basename='/build'>
<Route path=`$process.env.PUBLIC_URL/` component=Home />
</Router>
process.env.PUBLIC_URI
变量将在构建时替换为 homepage
。
更改您的反应 Link
组件中所有出现的 to
属性
<Link to=`$process.env.PUBLIC_URL/page`> ... </Link>
现在,您的应用程序应该可以在 https://yourdomain/build
下运行。
【讨论】:
是的,我正在使用 create-react-app。我马上试试,谢谢你的帮助!以上是关于在 CPanel 上部署 Node.js React 应用程序 - “加载资源失败:服务器响应状态为 404 ()”的主要内容,如果未能解决你的问题,请参考以下文章
cpanel node.js 无法获取应用程序的锁:应用程序
为啥我的 cpanel 没有在软件中显示设置 node.js 应用程序图标?
如何将数据从 Heroku 上托管的 Node.js 应用程序发送到托管在完全独立(Cpanel)服务器上的 PHP 文件?
如何在 Cpanel 中为 Node.js 应用程序配置端口?