ホームページ >ウェブフロントエンド >jsチュートリアル >CloudFlareワーカーを使用したJamstackサイトのフォームハンドリング
このチュートリアルでは、速度と費用対効果を提供するサーバーレスプラットフォームであるCloudFlareワーカーを使用して、Jamstack Webサイトまたはシングルページアプリケーション(SPA)のフォーム処理サービスの構築を実証しています。 JamstackのビルドタイムHTMLレンダリングとエッジサーバーの展開は、ロード時間が高速で提供されますが、フォーム処理などのサーバー側のタスクの処理には別のアプローチが必要です。
PHPのような従来のサーバー側のソリューションは、フォームの処理を簡素化しますが、Jamstackはサーバーレス機能の恩恵を受けます。このチュートリアルでは、CloudFlareワーカーを使用して、フォーム処理用のマイクロサービスを作成し、専用サーバーよりもコストの利点を提供し、AirTableなどのサービスと統合することにより複雑なワークフローを有効にします。
Jamstackサイトでのサーバーレスフォームの処理のためにCloudFlareワーカーを活用すると、パフォーマンスが向上し、コストが削減されます。 サーバーレスマイクロサービスアーキテクチャを介したフォームなどの動的な機能のジャムスタックの制限への対処。 既存のサードパーティサービス(Formspree、Netlifyフォームなど)の使用を迅速に統合するための使用。
サブメッションごとに低コストとカスタマイズされたセキュリティのために、クラウドフレーワーカーを備えたカスタムフォームハンドラーを構築します。カスタマイズ可能なセキュリティポリシー 無制限のサービス統合。
エッジコンピューティングによるレイテンシの低下サードパーティのサービスで利用できない機能を追加する柔軟性。
SendGridやMailgunなどの電子メールサービスは無料のティアを提供しますが、直接データベースまたはアプリケーション統合の場合、100万回の提出物はサードパーティのフォームハンドラーよりも大幅に低くなります。 CloudFlare労働者:
サーバーレスプラットフォームであるCloudFlareワーカーは、他のサーバーレス製品で一般的な「コールドスタート」の問題を回避し、V8ランタイムとエッジコンピューティングアーキテクチャのために近視の応答時間を提供します。
node.js
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
に変更し、JSONスキーマと検証ロジックを使用して"type = "webpack"
を作成し、validator.js
> 。index.js
email-service.js
、およびemail-text-template.js
を作成します。 email-html-template.js
またはCloudFlareダッシュボードを使用して、環境変数(Mailgun APIキー、Mailgun API Base URL、電子メールアドレスまで)をセットアップします。 wrangler secret put
email-service.js
index.js
corsの追加:corsHeaders
index.js
プロジェクトの展開:フォーム処理ワーカーサービスの展開サービス:
wrangler publish
カスタムドメインデプロイメント(オプション):test.http
ステージング環境と生産環境の設定wrangler.toml
wrangler publish -e production
フォームユーザーインターフェイスの展開:wrangler secret put
提供されたReactスパを使用して、ワーカーアプリケーションのURLで.env
以上がCloudFlareワーカーを使用したJamstackサイトのフォームハンドリングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。