當我要發布呼叫時,它在本地作業正常,我可以使用 netlify 進行訪問,但是一旦我從 Netlify 托管前端應用程式,POST 代理將設定為 netlify URL
托管網址:https ://deploy-preview-14--hungry-lovelace-df4f46.netlify.app/login
我們單擊注冊并單擊注冊然后我看到 POST 方法將轉到 https://abc/register
我需要它去哪里https://xyztrial.com/register
在本地,我通過在 Package.json 中添加 Proxy: 'xyztrial.com.com' 使其作業
但是一旦我主持了它,我就無法發布電話,我該怎么辦?
已添加相同的螢屏截圖以及可以在線完成的上述 URL。
因此,我收到 404 錯誤頁面未找到
uj5u.com熱心網友回復:
你有兩個選擇:
- 您使用 NODE_ENV 環境變數將基本 URL 從 dev 切換到 prod,并在 api 呼叫中使用它:
const baseURL = process.env.NODE_ENV === "development" ? "localhost:5000" : "https://nameofyourapp.herokuapp.com"
const endpoint = "/api/v1/get-posts"
fetch(baseURL endpoint)
...
...
這樣您就不需要在開發程序中在 package.json 中進行代理,它會在生產環境中自動切換到您的后端 URL。
- 使用 Netlify 代理:
代理到另一個服務 與您將 /* 等路徑重寫為 /index.html 的方式類似,您還可以設定規則以讓您的部分站點代理到外部服務。假設您需要從單頁應用程式與https://api.example.com上不支持 CORS 請求的 API 進行通信。以下規則將允許您從 JavaScript 客戶端使用 /api/:
/api/* https://api.example.com/:splat 200
現在,所有對 /api/... 的請求都將直接從我們的 CDN 服務器代理到 https://api.example.com,而無需來自瀏覽器的額外連接。如果 API 支持標準 HTTP 快取機制,例如 ETag 或 Last-Modified 標頭,回應甚至會被我們的 CDN 節點快取。
https://docs.netlify.com/routing/redirects/rewrites-proxies/#proxy-to-another-service
只需記住啟用 CORS 并將您的 netlify 來源放置在您的 heroku 服務器上。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/460480.html
標籤:javascript 反应 api 邮政 网络化
