recherche
Maisoninterface Webtutoriel CSSDéploiement d'un site Jamstack sans serveur avec Redwoodjs, Faune et Vercel

Déploiement d'un site Jamstack sans serveur avec Redwoodjs, Faune et Vercel

Ce tutoriel vous guide dans la création d'une application sans serveur Jamstack à l'aide de Redwoodjs, Faunadb et Vercel. Nous tirons parti de l'API GraphQL de Fauna en tant que backend pour un frontend RedwoodJS, en déploiement sans effort avec le déploiement en un clic de Vercel.

Attendez-vous à une plongée profonde dans les concepts JamStack et sans serveur, ainsi qu'une expérience pratique en utilisant cette puissante pile technologique.

Construire votre application Redwood

RedwoodJS est un cadre pour les applications sans serveur, combinant React (frontend), GraphQL (données) et prisma (requêtes de base de données). Alors que d'autres cadres frontaux existent (comme le bison), RedwoodJS propose un écosystème mature et bien établi.

Nous contournerons les modèles de démarrage et nous construisons à partir d'un projet de séquoia de base, examinant chaque composant. Tout d'abord, installez le fil et exécutez ces commandes:

 fil Créer un Redwood-App ./CSStricks
CD CSStricks
fil rw dev

Votre frontend fonctionne sur localhost:8910 et le backend sur localhost:8911 (avec un terrain de jeu Graphiql). La page d'atterrissage du séquoia devrait apparaître à localhost:8910 . (Remarque: Redwoodjs La version 0.21.0 est utilisée dans cet exemple; consultez la documentation pour la dernière version et la préparation de la production.)

Structure du projet

RedwoodJS hiérarchise la convention sur la configuration, fournissant une disposition de projet structurée:

 <code>├── api │ ├── prisma │ │ ├── schema.prisma │ │ └── seeds.js │ └── src │ ├── functions │ │ └── graphql.js │ ├── graphql │ ├── lib │ │ └── db.js │ └── services └── web ├── public │ ├── favicon.png │ ├── README.md │ └── robots.txt └── src ├── components ├── layouts ├── pages │ ├── FatalErrorPage │ │ └── FatalErrorPage.js │ └── NotFoundPage │ └── NotFoundPage.js ├── index.css ├── index.html ├── index.js └── Routes.js</code>

Le projet est divisé en répertoires web (frontend) et api (backend), géré par les espaces de travail YARN. Nous remplacerons Prisma par Faunadb, en supprimant le répertoire prisma et le contenu de db.js (mais en gardant le fichier db.js ).

index.html

Le fichier index.html contient le nœud Root Dom (<div id="redwood-app"></div> ) où l'application React est rendue. Redwoodjs, bien que orienté Jamstack, ne pratiquait actuellement pas de pré-rendu comme Next.js ou Gatsby.

index.js

index.js rend le composant d'application principal dans l'élément DOM redwood-app à l'aide de ReactDOM.render() . Il utilise RedwoodProvider pour la gestion du contexte et FatalErrorBoundary pour la gestion des erreurs.

Routes.js

Routes.js définit le routage de l'application à l'aide du routeur de Redwood.

Création de pages

Créons des pages à l'aide de la CLI de séquoia:

 yarn rw g page home /
Page de fil RW G sur

Cela génère les fichiers nécessaires pour HomePage et AboutPage . Simplifiez ces pages en supprimant les liens de navigation inutiles.

Disposition

Créez une disposition réutilisable pour la navigation:

 Blog de mise en page RW G YARN

Modifier BlogLayout.js pour inclure des liens de navigation vers HomePage et AboutPage en utilisant<link> composants. Importez BlogLayout dans HomePage et AboutPage pour intégrer la navigation.

Langue de définition du schéma de la faune (SDL)

Créez sdl.gql avec le schéma suivant:

 Type Post {
  Titre: String!
  Corps: String!
}

Type Query {
  Posts: [Post]
}

Téléchargez ce schéma sur votre instance faunadb. Notez que FaunAdB crée des types intermédiaires; Nous expliquerons cela dans notre schéma RedwoodJS.

Redwoodjs SDL et services

Créez api/src/graphql/posts.sdl.js reflétant le schéma de la faune, y compris le type PostPage intermédiaire. Créez api/src/services/posts/posts.js pour interroger l'API Fauna GraphQL à l'aide de graphql-request . N'oubliez pas d'installer graphql-request et graphql dans le répertoire api .

Autorisation de la faune

Configurez api/src/lib/db.js pour inclure votre secret de Faunadb dans l'en-tête d'autorisation à l'aide de variables d'environnement.

Faunadb de semis

Utilisez le shell Fauna pour ajouter quelques exemples de messages à votre base de données.

Cellules

Générez un BlogPostsCell ​​pour récupérer et afficher les publications:

 YARN RW Générez des objets de blogs cellulaires

Modifiez BlogPostsCell.js pour interroger les posts et rendre le titre et le corps de chaque publication. Importez BlogPostsCell ​​dans HomePage .

Déploiement de Vercel

Connectez votre projet à Vercel. Modifiez netlify.toml (s'il existe) pour définir apiProxyPath sur "/ api". Ajoutez votre secret de faunadb aux variables environnementales de Vercel. La commande de construction de Vercel fonctionne de manière transparente avec Redwoodjs.

Votre application est maintenant terminée! Une démo en direct et un référentiel GitHub sont disponibles (les liens seraient insérés ici).

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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Comment nous avons tagué Google Fonts et créé des goofont.comComment nous avons tagué Google Fonts et créé des goofont.comApr 12, 2025 pm 12:02 PM

Goofonts est un projet parallèle signé par un développeur-femme et un concepteur-mari, tous deux de grands fans de typographie. Nous avons marqué Google

Articles de développement Web intemporelsArticles de développement Web intemporelsApr 12, 2025 am 11:44 AM

Pavithra Kodmad a demandé aux gens des recommandations sur ce qu'ils pensaient être certains des articles les plus intemporels sur le développement Web qui ont changé

L'accord avec l'élément de sectionL'accord avec l'élément de sectionApr 12, 2025 am 11:39 AM

Deux articles ont publié exactement le même jour:

Pratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptPratiquez des requêtes GraphQL avec l'API de l'état de JavaScriptApr 12, 2025 am 11:33 AM

Apprendre à créer des API GraphQL peut être assez difficile. Mais vous pouvez apprendre à utiliser les API GraphQL en 10 minutes! Et il se trouve que je suis parfait

CMSS au niveau des composantsCMSS au niveau des composantsApr 12, 2025 am 11:09 AM

Lorsqu'un composant vit dans un environnement où les données interrogent les données qui vivent à proximité, il y a une ligne assez directe entre le composant visuel et le

Définissez le type sur un cercle ... avec chemin de décalageDéfinissez le type sur un cercle ... avec chemin de décalageApr 12, 2025 am 11:00 AM

Ici, une rotation CSS légitime de Yuanchuan. Il y a ce chemin de décalage de la propriété CSS. Il était une fois, il s'appelait le chemin de mouvement, puis il a été renommé. je

What does "revert" do in CSS?What does "revert" do in CSS?Apr 12, 2025 am 10:59 AM

Miriam Suzanne explique dans une vidéo de développeur de Mozilla sur le sujet.

Les amoureux modernesLes amoureux modernesApr 12, 2025 am 10:58 AM

J'adore les trucs comme ça.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

DVWA

DVWA

Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser