我已經創建了一個 Web 應用程式,現在我正在嘗試使用 Nginx 部署它。開發應用程式后,我使用“npm run build”命令創建了一個生產版本。由于 NGINX 我服務這些檔案,相應的塊是: location / { root /var/www/build }
有了這個,我的應用程式完美運行,我可以通過 mydomain.com 訪問它
問題是我希望我的應用程式可以通過 mydomain.com/app 訪問
由于地址 mydomain.com 我想保留它以將其與 wordpress 一起使用并提供 SEO。
問題是當我將 NGINX 配置更改為 location / app { root /var/www/build } 時會出現 404 錯誤。
找問題我發現解決辦法是場合 /app { aliases /var/www/build try_files $uri $uri/ /index.html?$args; }
但有了這個改變,我得到一個空白頁面而不是我的應用程式。如果我檢查頁面,回應如下:
在此處輸入影像描述
我已經驗證在我的瀏覽器中我已經啟用了 JavaScript,所以我不明白發生了什么。
uj5u.com熱心網友回復:
我有一種強烈的感覺,你在構建 html 檔案中的 JavaScript 檔案會導致 404。請檢查瀏覽器開發者控制臺的網路選項卡。按 F12 輸入。
由于您的應用程式部署在該app位置下,但您的 JavaScript 檔案指向/它們將永遠找不到。
有一百萬零一個解決方案可以解決這個問題。鑒于您使用的是 React.JS、Angular、Vue(請明確您使用的是哪種框架),您應該將其設定/app/為新的基礎。
檢查此https://skryvets.com/blog/2018/09/20/an-elegant-solution-of-deploying-react-app-into-a-subdirectory/。很棒的教程。
如果您使用與任何框架無關的東西,您可以使用<base>
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/417300.html
標籤:
