recherche
Maisoninterface Webtutoriel CSSBâtiment API GraphQL sans serveur dans le nœud avec express et netlify

Bâtiment API GraphQL sans serveur dans le nœud avec express et netlify

Construire une API peut sembler intimidant, mais il ne doit pas l'être. Ce tutoriel montre comment créer et déployer une API simple et en lecture seule en moins d'une heure en utilisant un code minimal et des outils facilement disponibles. Aucune expérience back-end n'est nécessaire; Une compréhension de base de JavaScript et de NPM est suffisante.

Ce guide démystifie des concepts d'API communs comme REST et présente des architectures GraphQL et sans serveur. Nous utiliserons des outils facilement disponibles et expliquerons leur objectif en cours de route. À la fin, vous aurez une API déployée sans maux de tête de gestion de serveur.

Concepts clés: GraphQL et sans serveur

Les API impliquent fondamentalement la lecture et la mise à jour des données. Les API REST utilisent des URL pour définir les points d'accès aux données, nécessitant plusieurs demandes de récupération de données complexes. GraphQL améliore l'efficacité en permettant aux clients de spécifier les données exactes nécessaires dans une seule demande. Les relations de données sont représentées comme un graphique, optimisant la récupération des données.

L'architecture sans serveur élimine le besoin de gestion des serveurs. Vous ne payez que pour les ressources consommées, simplifiant le déploiement et la maintenance. Nous exploiterons les fonctions Netlify pour cette fonctionnalité sans serveur.

Outils du commerce

  1. Node.js et Express: Node.js permet l'exécution JavaScript côté serveur, tandis que Express simplifie le développement de l'API avec des fonctionnalités telles que le routage et le middleware.

  2. Fonctions Netlify: une plate-forme sans serveur offrant un déploiement gratuit et une mise à l'échelle des fonctions. Netlify Dev permet des tests locaux.

Configuration du projet

  1. Créez un nouveau répertoire de projet et initialisez-le avec npm init .

  2. Installez les packages nécessaires: npm i express express-graphql graphql body-parser serverless-http netlify-cli -g

Structure et configuration des fichiers

  • netlify.toml : configure Netlify pour la construction et le déploiement. Surtout, il spécifie l'emplacement des fonctions sans serveur:
 [construire]
Command = "NPM Run build"
publier = "build"
fonctions = "fonctions"
  • /functions/api.js : contient le code API.

Répartition du code api.js

  1. Dépendances d'importation:
 const Express = require ("express");
const bodyParser = require ("body-parser");
const ExpressGraphQl = require ("express-graphQl");
const Serverless = require ("serverless-http");
const {graphQlschema, graphQlobjectType, graphQlString} = require ("graphQl");
  1. Initialiser l'express et l'emballage sans serveur:
 const app = express ();
module.exports.handler = serverless (app);
  1. Configurer le middleware express:
 app.use (bodyParser.json ());
app.use ("/", expressGraphql ({schéma: schéma, graphiql: true}));
  1. Définissez le schéma GraphQL:
 const Schema = new GraphQlschema ({{
  Query: new GraphQloBjectType ({
    Nom: "Helloworld",
    champs: () => ({
      message: {
        Type: GraphQlString,
        Resolve: () => "Hello World",
      },
    }),
  }),
});

Développement et test locaux

Exécutez netlify dev dans votre terminal. Accédez au terrain de jeu Graphiql sur http://localhost:8888/.netlify/functions/api . Testez votre API en interrogeant { message } .

Déploiement

Connectez votre projet à NetLify (par exemple, via GitHub) pour le déploiement automatique. Netlify gérera la construction et le déploiement de votre fonction sans serveur.

Facultatif: demande de redirection

Créez un fichier _redirects dans la racine de votre projet pour rediriger les demandes de /api vers votre fonction Netlify:

 <code>/api /.netlify/functions/api 200!</code>

Cela simplifie l'accès à l'API.

Conclusion

Ce tutoriel fournit une base pour la construction et le déploiement des API GraphQL sans serveur avec facilité. L'approche est évolutive et permet un développement API plus complexe selon les besoins. N'oubliez pas d'explorer les ressources liées pour des plongées plus profondes dans GraphQL et les technologies sans serveur. Le code source complet est disponible sur GitHub (lien fourni dans l'article 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!

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
Le pied de page à glissementLe pied de page à glissementApr 09, 2025 am 11:50 AM

Un nouveau site fascinant appelé The Markup vient de lancer. Slogan: Big Tech vous regarde. Nous regardons Big Tech. Excellent travail de la mise à jour. Le

Pages pour les likesPages pour les likesApr 09, 2025 am 11:47 AM

J'ai posté sur l'analyse d'un flux RSS en JavaScript l'autre jour. J'ai également posté sur ma configuration RSS pour parler de la façon dont Feedbin est au cœur de celui-ci.

Recréer le blocage de cotenberg Codepen Gutenberg pour Sanity.ioRecréer le blocage de cotenberg Codepen Gutenberg pour Sanity.ioApr 09, 2025 am 11:43 AM

Apprenez à créer un bloc Codepen personnalisé avec un aperçu pour Sanity Studio, inspiré de l'implémentation de Chris Coyier pour l'éditeur de Gutenberg de WordPress.

Comment faire un tableau de ligne avec CSSComment faire un tableau de ligne avec CSSApr 09, 2025 am 11:36 AM

Les graphiques de ligne, de barre et de tarte sont le pain et le beurre des tableaux de bord et sont les composants de base de toute boîte à outils de visualisation des données. Bien sûr, vous pouvez utiliser SVG

Programmation sass pour créer des combinaisons de couleurs accessiblesProgrammation sass pour créer des combinaisons de couleurs accessiblesApr 09, 2025 am 11:30 AM

Nous cherchons toujours à rendre le Web plus accessible. Le contraste des couleurs est juste des mathématiques, donc Sass peut aider à couvrir les cas de bord que les concepteurs auraient pu manquer.

Comment nous avons créé un site statique qui génère des modèles tartan dans SVGComment nous avons créé un site statique qui génère des modèles tartan dans SVGApr 09, 2025 am 11:29 AM

Le tartan est un chiffon à motifs qui est généralement associé à l'Écosse, en particulier leurs kilts à la mode. Sur tartanify.com, nous avons rassemblé plus de 5 000 tartan

Un suivi des modèles PHPUn suivi des modèles PHPApr 09, 2025 am 11:14 AM

Il n'y a pas longtemps, j'ai posté sur les modèles PHP dans Just PHP (qui est essentiellement la syntaxe Heredoc). J'utilise littéralement cette technique pour un super basique

Création d'une galerie d'images modale avec composants bootstrapCréation d'une galerie d'images modale avec composants bootstrapApr 09, 2025 am 11:10 AM

Avez-vous déjà cliqué sur une image sur une page Web qui ouvre une version plus grande de l'image avec navigation pour afficher d'autres photos?

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
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

SublimeText3 Linux nouvelle version

SublimeText3 Linux nouvelle version

Dernière version de SublimeText3 Linux

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser