提问者:小点点

在特定位置使用 nginx 提供反应应用程序时出现空白页


我已经创建了一个web应用程序,现在我正试图用Nginx部署它。开发完应用程序后,我用命令“npm run build”创建了一个生产版本。由于NGINX I服务于这些文件,所以对应的块是:location / { root /var/www/build }

有了这个,我的应用程序运行完美,我可以通过mydomain.com

问题是我想通过mydomain.com/app访问我的应用程序

由于地址mydomain.com我想保留它与wordpress一起使用并提供SEO。

问题是,当我将NGINX配置更改为位置/应用程序{根 /var/www/build}时,会出现404错误。

找问题我发现解决方案是occasion/app { aliases/var/www/build try _ files $ uri $ uri//index . html?$ args}

但是有了这个更改,我得到了一个空白页面,而不是我的应用程序。如果我检查页面,响应如下:

在此处输入图片描述

我已经验证了在我的浏览器中我已经启用了 JavaScript,所以我不明白发生了什么。


共1个答案

匿名用户

我有一种强烈的感觉,你在构建 html 文件中的 JavaScript 文件将导致 404。请查看浏览器开发者控制台的网络选项卡。按 F12 输入此项。

由于您的应用程序部署在应用程序位置下,但您的 JavaScript 文件指向/它们将永远不会被找到。

有成千上万的解决方案可以解决这个问题。鉴于您正在使用React.JS、Angular、Vue(请明确您使用的是哪种框架),您应该将/app/设置为您的新基础。

检查此 https://skryvets.com/blog/2018/09/20/an-elegant-solution-of-deploying-react-app-into-a-subdirectory/。很棒的教程。

如果您正在使用与任何框架无关的内容,则可以使用