>本教程演示了使用CloudFlare Workers為您的Jamstack網站或單頁應用程序(SPA)建立形式處理服務,這是一個無服務器平台,提供速度和成本效益。 JAMSTACK的構建時間HTML渲染和邊緣服務器部署提供了快速的加載時間,但是處理服務器端任務(例如Form Processing)需要一種不同的方法。
>
>傳統的服務器端解決方案(例如PHP簡化了表單處理),但Jamstack受益於無服務器功能。本教程使用CloudFlare工人來創建用於形式處理的微服務,為專用服務器提供成本優勢,並通過與AirTable等服務集成來啟用複雜的工作流程。
鍵優點:
>使用CloudFlare工人建立自定義解決方案提供:
每次提交的成本較低。>可自定義的安全策略。
>無限服務集成。
降低了由於邊緣計算而引起的延遲。靈活性添加第三方服務中不可用的功能。
>該教程通過構建CloudFlare Worker的應用程序並將其與預先構建的React Spa(提供的源代碼鏈接)集成在一起。 該教程側重於工人後端,而不是UI開發。
>先決條件:
npm install -g @cloudflare/wrangler
。 wrangler login
wrangler --version
cloudflared
項目開發:
wrangler generate cloudflare-form-service
,cd cloudflare-form-service
和npm install
>。使用您的帳戶ID進行更新wrangler.toml
,並在package.json
中設置腳本以進行開發和格式。 index.js
來處理髮布請求,讀取請求正文(JSON或表單數據),然後返回適當的響應(包括錯誤處理)。 @cfworker/json-schema
(npm install @cfworker/json-schema
),將wrangler.toml
更改為"type = "webpack"
>,使用JSON架構和驗證邏輯創建validator.js
index.js
email-service.js
。 設置環境變量(MailGun API密鑰,Mailgun API基礎URL,從電子郵件地址到電子郵件地址)或使用CloudFlare儀表板。 將email-text-template.js
集成到email-html-template.js
>。
wrangler secret put
>email-service.js
>添加CORS:index.js
>添加corsHeaders
項目部署:index.js
>部署表單處理工人服務:>使用
部署到Cloudflare的Workers.dev子域。 在wrangler publish
>中設置登台和生產環境,在您的Cloudflare DNS設置中創建CNAME記錄,並使用test.http
發佈到生產。 使用wrangler.toml
使用提供的react spa,使用您的工人應用程序配置wrangler publish -e production
文件,然後部署到諸如Cloudflare頁面之類的平台,NetLify或vercel。
wrangler secret put
.env
以上是使用Cloudflare工人為jamstack站點進行處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!