我將我的vue應用程式編譯并推送到S3上,我正在使用s3-proxy在我的node/express應用程式中為其服務。我可以在/導航到我的應用程式,這很好。然而,如果我直接導航到任何其他路線,如/login,我得到一個Missing S3 key錯誤。我知道根本原因是我的桶中沒有名為login的檔案,但我不太確定如何解決這個問題。以下是我的代碼:
app.get(
"/*"/span>,
s3Proxy( {
bucket: config.AWS.S3.UI.BUCKET,
accessKeyId: config.AWS.ACCESS_KEY_ID。
secretAccessKey: config.AWS.SECRET_ACCESS_KEY。
defaultKey: "index.html"。
})
);
如果有任何建議,我們將不勝感激!
uj5u.com熱心網友回復:
使用一個中間件:
app.get(
"/*"/span>,
(req, res, next) => {
req.url = "/"/span>
next()
},
s3Proxy({
bucket: config.AWS.S3.UI.BUCKET,
accessKeyId: config.AWS.ACCESS_KEY_ID。
secretAccessKey: config.AWS.SECRET_ACCESS_KEY。
defaultKey: "index.html"。
})
);
s3Proxy()創建一個中間件,它只是一個有3個引數的函式。你可以創建你自己的中間件,修改請求。改變req.url不會將客戶端重定向到根頁面,vue應用程式將能夠按照預期處理路由問題。
請注意,你放在 s3Proxy 之后的任何其他中間件也將收到修改的請求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/327646.html
標籤:
