


Gestion des formulaires pour les sites Jamstack à l'aide de travailleurs CloudFlare
Feb 10, 2025 am 11:10 AMCe didacticiel montre la création d'un service de gestion de formulaire pour votre site Web Jamstack ou votre application à une seule page (SPA) à l'aide de travailleurs CloudFlare, une plate-forme sans serveur offrant une vitesse et une efficacité. Le rendu HTML de build-time de Jamstack et le déploiement du serveur Edge fournissent des temps de chargement rapide, mais la gestion des taches c?té serveur comme le traitement de formulaire nécessite une approche différente.
Les solutions traditionnelles c?té serveur comme PHP simplifient la gestion des formulaires, mais Jamstack profite des fonctions sans serveur. Ce didacticiel utilise des travailleurs CloudFlare pour créer un microservice pour le traitement des formulaires, offrant des avantages de co?ts par rapport aux serveurs dédiés et permettant des workflows complexes en s'intégrant à des services comme AirTable.
Avantages clés:
- Tirer parti des travailleurs de Cloudflare pour la gestion des formulaires sans serveur sur les sites Jamstack améliore les performances et réduit les co?ts.
- Adommagent les limitations de Jamstack pour les fonctionnalités dynamiques comme les formulaires via une architecture de microservices sans serveur.
- Exploration de l'utilisation des services tiers existants (formulaires, formulaires netlify, etc.) pour une intégration rapide.
- Construire des gestionnaires de formulaires personnalisés avec des travailleurs CloudFlare pour des co?ts inférieurs par soumission et une sécurité sur mesure.
- en utilisant le réseau de bord de Cloudflare pour une latence réduite.
- Manipulation directe de la soumission du formulaire c?té navigateur avec JavaScript, y compris la gestion des demandes de Cors Fillight.
- Déploiement et test sur un domaine personnalisé pour la surveillance des performances en temps réel.
Handleurs de formulaires tiers:
Les services comme FormSpree, GetForm, FormData et Netlify Forms offrent des fonctionnalités telles que les notifications par e-mail, le filtrage des spams, les intégrations tierces (Zapier), les tableaux de bord, les téléchargements de fichiers et l'exportation CSV. Bien que pratique et offrant souvent des niveaux gratuits, ils peuvent devenir co?teux pour une utilisation à haut volume.
Construire votre propre service (avantages sociaux):
Construire une solution personnalisée à l'aide de CloudFlare Workers propose:
- Co?t inférieur par soumission.
- Politiques de sécurité personnalisables.
- intégrations de services illimitées.
- la latence réduite due à l'informatique des bords.
- flexibilité pour ajouter des fonctionnalités non disponibles dans les services tiers.
Les services de messagerie comme SendGrid et Mailgun offrent des niveaux gratuits, mais pour l'intégration directe de la base de données ou de l'application, les soumissions de co?ts par million peuvent être considérablement inférieures aux gestionnaires de formulaires tiers.
CloudFlare Workers:
CloudFlare Workers, une plate-forme sans serveur, évite le problème "Démarrage du froid" commun dans d'autres offres sans serveur, offrant des temps de réponse presque instants en raison de son architecture informatique d'exécution et de bord V8.
Présentation du projet:
Ce didacticiel vous guide dans la création d'une application CloudFlare Workers et l'intégrer à un spa React prédéfini (liens de code source fourni). Le tutoriel se concentre sur le backend des travailleurs, pas sur le développement de l'interface utilisateur.
Prérequis:
- node.js
- Visual Studio Code
- VS CODE REST EXTENSION Client
Configuration du compte:
- Domaine personnalisé (recommandé): Un domaine personnalisé simplifie le déploiement, fournit un accès au journal en temps réel et améliore la délivrabilité des e-mails. Fastcomet est suggéré pour l'enregistrement du domaine et l'hébergement par e-mail.
- Configuration de Mailgun: Créez un compte Mailgun (plan gratuit disponible), vérifiez-le, notez votre clé API et votre URL de base et ajoutez une adresse e-mail de destinataire autorisée. Testez l'envoi d'e-mails à l'aide de la commande Curl fournie. Un domaine personnalisé est recommandé pour les limites d'envoi plus élevées et la livraison améliorée de la bo?te de réception.
- CloudFlare Workers Configuration: Inscrivez-vous à un compte CloudFlare Workers, installez le Wrangler CLI (
npm install -g @cloudflare/wrangler
), connectez-vous (wrangler login
) et vérifiez l'installation (wrangler --version
). Si la connexion échoue, reportez-vous aux étapes de dépannage du tutoriel d'origine. Si vous utilisez un domaine personnalisé, ajoutez-le à CloudFlare, modifiez les serveurs de noms et téléchargez / configurecloudflared
.
Développement du projet:
- Générer le projet: Utiliser
wrangler generate cloudflare-form-service
,cd cloudflare-form-service
etnpm install
. Mettre à jourwrangler.toml
avec votre ID de compte et configurer des scripts danspackage.json
pour le développement et le formatage. - Gestion des demandes de poste: Modifier
index.js
Pour gérer les demandes de publication, lire le corps de la demande (données JSON ou formulaire) et renvoyer les réponses appropriées (y compris la gestion des erreurs). - Validation du schéma: installer
@cfworker/json-schema
(npm install @cfworker/json-schema
), changerwrangler.toml
en"type = "webpack"
, créervalidator.js
avec un schéma JSON et une logique de validation et l'intégrer dansindex.js
. - Intégration des e-mails: Créer
email-service.js
,email-text-template.js
, etemail-html-template.js
. Configurer des variables d'environnement (clé API Mailgun, URL de base de l'API Mailgun, de l'adresse e-mail, à l'adresse e-mail) en utilisantwrangler secret put
ou le tableau de bord CloudFlare. Intégreremail-service.js
dansindex.js
. - Ajout de CORS: Ajouter
corsHeaders
àindex.js
et gérer les demandes d'options de filigrane pour assurer la compatibilité avec les modèles de sécurité du navigateur.
Déploiement du projet:
- Déployer le service des travailleurs de la gestion des formulaires: Utiliser
wrangler publish
pour se déployer dans le sous-domaine Workers.Dev de CloudFlare. Testez avec les demandes HTTP mises à jour danstest.http
. - Déploiement du domaine personnalisé (facultatif): Configurer des environnements de mise en scène et de production dans
wrangler.toml
, créez un enregistrement CNAME dans vos paramètres DNS CloudFlare et publiez sur la production en utilisantwrangler publish -e production
. Re-télécharger les variables d'environnement à l'aide dewrangler secret put
. Tester avec les demandes à votre domaine personnalisé. - Déployer l'interface utilisateur du formulaire: Utilisez le spa React fourni, configurez le fichier
.env
avec votre URL d'application des travailleurs et déployez sur une plate-forme comme CloudFlare Pages, Netlify ou Vercel.
Résumé et FAQ:
Le tutoriel se termine par un résumé et une section FAQ complète couvrant Jamstack, les travailleurs de CloudFlare, des méthodes de traitement des formulaires alternatives, des considérations de co?ts et des limitations. Les FAQ explorent également d'autres fonctionnalités et capacités des travailleurs CloudFlare. Les images fournies restent dans leur format et leur emplacement d'origine.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Java et JavaScript sont différents langages de programmation, chacun adapté à différents scénarios d'application. Java est utilisé pour le développement des grandes entreprises et des applications mobiles, tandis que JavaScript est principalement utilisé pour le développement de pages Web.

JavaScriptCommentsaSententialFormantaining, Reading et GuidingCodeEexecution.1) unique-linecomesaUSEUSEFORQUICKEXPLANATIONS.2) Multi-linecommentSExPlainComplexLogicorProvideTailedDocumentation.3) Inlinecomementsclarifypecifications

Les points suivants doivent être notés lors du traitement des dates et du temps dans JavaScript: 1. Il existe de nombreuses fa?ons de créer des objets de date. Il est recommandé d'utiliser les cha?nes de format ISO pour assurer la compatibilité; 2. Get and définir des informations de temps peuvent être obtenues et définir des méthodes, et notez que le mois commence à partir de 0; 3. Les dates de mise en forme manuelle nécessitent des cha?nes et les bibliothèques tierces peuvent également être utilisées; 4. Il est recommandé d'utiliser des bibliothèques qui prennent en charge les fuseaux horaires, comme Luxon. La ma?trise de ces points clés peut éviter efficacement les erreurs courantes.

PlacertagsatthebottomofablogPostorwebPageSerSpracticalPurpossForseo, userexperience, anddesign.1.ithelpswithseobyallowingsechingenginestoaccesskeyword-elevanttagswithoutcluteringtheaincontent..itimproveserexperceenceegmentyepingthefocusonThearrlUl

Javascriptispreferredforwebdevelopment, tandis que javaisbetterforlarge-scalebackenSystemsandandroidApps.1)

JavascripthSsevenfundamentalDatatypes: nombre, cha?ne, booléen, indéfini, nul, objet, andymbol.1) nombres usUseadouble-précisformat, utile

La capture d'événements et la bulle sont deux étapes de la propagation des événements dans DOM. La capture est de la couche supérieure à l'élément cible, et la bulle est de l'élément cible à la couche supérieure. 1. La capture de l'événement est implémentée en définissant le paramètre UseCapture d'AdveventListener sur true; 2. événement Bubble est le comportement par défaut, UseCapture est défini sur False ou Omise; 3. La propagation des événements peut être utilisée pour empêcher la propagation des événements; 4. événement Bubbling prend en charge la délégation d'événements pour améliorer l'efficacité du traitement du contenu dynamique; 5. La capture peut être utilisée pour intercepter les événements à l'avance, telles que la journalisation ou le traitement des erreurs. La compréhension de ces deux phases aide à contr?ler avec précision le calendrier et comment JavaScript répond aux opérations utilisateur.

Java et JavaScript sont différents langages de programmation. 1.Java est un langage typique et compilé, adapté aux applications d'entreprise et aux grands systèmes. 2. JavaScript est un type dynamique et un langage interprété, principalement utilisé pour l'interaction Web et le développement frontal.
