>本教程演示了使用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中文网其他相关文章!