如何使用Netlify Edge功能

Netlify Edge功能是Netlify提供的一個非常有趣的功能,Netlify是一個流行的托管平台。 這個功能非常有趣,因為雖然Netlify以靜態托管聞名,但Edge功能允許您進行一些不太靜態的操作。 讓我們可以做到以下這些事情: 地理定位 本地化 A/B測試 重定向 …等等 它們與Netlify Serverless功能類似,只不過它們運行在Netlify邊緣(Edge)上,這意味著它們更接近用戶並在多個CDN位置運行,計算方式也不同(每月3百萬次呼叫,而不是每個站點每月12.5萬呼叫)。 要啟用Edge功能,請在您的網站存儲庫中創建一個netlify.toml文件(如果您尚未擁有),並添加以下內容: [[edge_functions]] function = "hello" path = "/hello" 其中function是netlify/edge-functions/下的文件名,不包括.js擴展名。 path是此功能將可用於的URL路徑。 然後,您可以在文件netlify/edge-functions/hello.js中編寫一個功能: export default () => new Response("Hello world"); Response是可用於將回應發送回客戶端的對象。 一旦您部署了存儲庫,就可以使用以下URL訪問其結果: https://<您的網站域名>/hello 試試看吧! 在部署期間,您將在日誌中看到以下信息: 一旦部署完成,您將看到動態生成的帶有內容Hello, World!的頁面。 但是我建議您預先使用Netlify CLI的netlify dev在本地測試它們。請確保使用npm i -g netlify-cli將其更新到最新版本,否則它可能沒有啟用此功能。 您可以設置回應標頭,例如內容類型,通過將第二個參數傳遞給new Response(): export default () => new Response('Hello world', { headers: { 'content-type': 'text/html' }, }); Edge功能接收兩個參數:request和context: export default (request, context) => { //... }; 這兩個對象提供了一些有用的功能。 request允許您訪問所有request數據,它與使用Fetch API時獲得的請求對象相同。...