vendredi, 26 avril 2024

Passez au sans serveur avec Vercel, SvelteKit et MongoDB

Le cloud continue de progresser vers de plus grands niveaux d’abstraction. Les plates-formes de publication et d’hébergement automatisées, les structures frontales et les bases de données principales sont progressivement efficaces et sophistiquées, et leur intégration est beaucoup plus facile que jamais. Cet article vous montre comment incorporer Vercel, SvelteKit et MongoDB pour une avancée complète sans serveur. Chacune de ces innovations est leader dans son propre domaine. En les utilisant ensemble, les concepteurs peuvent accomplir des capacités impressionnantes avec une quantité de travail modeste.

Petits morceaux : l’exemple d’application

Pour cette démonstration, nous allons créer un application qui produit une entité à deux champs à enregistrer dans une base de données. Du point de vue de l’utilisateur, l’application présente un genre avec deux champs, l’un contenant un apothegme et l’autre son auteur. (Un apothegme est un petit morceau de connaissance.)

Notre objectif ici est de rassembler les aspects de ce puzzle efficace – Vercel, SvelteKit et MongoDB – pour prenez l’exemple d’application du développement à la production.

Pour commencer, nous utiliserons SvelteKit pour construire une vue frontale dans Svelte. Cette vue soumettra les demandes à un point de terminaison principal. Semblable à Express.js, SvelteKit traite les points de terminaison comme des abstractions du contexte requête-réponse.

L’abstraction simplifiera la livraison à Vercel en tant que contexte sans serveur. Le point de terminaison Vercel ne fera que regrouper les informations reçues dans une collection dans MongoDB Atlas, une base de données cloud native en tant que service.

Cette configuration fonctionnera parfaitement pour notre avancement. Une fois que nous aurons le front-end, nous créerons un référentiel dans GitHub et enregistrerons la tâche. Nous pouvons utiliser Vercel pour extraire notre projet et le déployer sur une adresse IP ouvertement exposée.

Avancement complet : SvelteKit

Commençons par notre environnement d’avancement, SvelteKit. Vous pouvez démarrer une application Svelte à partir de la ligne de commande SvelteKit comme décrit dans la documentation du framework. Lorsque l’application s’exécute localement, vous aurez la possibilité de la visiter et de voir l’écran de bienvenue de SvelteKit.

Pour commencer, modifions la page principale de l’application pour qu’elle se compose d’un simple formulaire. Modifiez /src/routes/index. svelte avec les modifications vues dans le Listing 1.

Listing 1. Modifier la page primaire de l’application (index.svelte) House

Apothegme Auteur Soumettre une tentative de modification de src/ routes/index. svelte

Une grande partie de index.svelte reste le même. Notez que je a commenté l’exportation du module dans l’en-tête de la page afin qu’il ne soit plus pré-rendu. (Parmi les superpouvoirs de SvelteKit, il y a sa capacité à pré-rendre totalement les pages qui ne frappent pas l’arrière-plan. Nous devons désactiver cette fonctionnalité car notre page touchera le back-end.)

Le reste des modifications s’engage à fournir un aspect aimable avec 2 champs. Lorsque le formulaire est soumis, nous le marshalons dans JSON et l’envoyons via un POST à ​​la racine endpoint (« / ») au moyen de bring.

Traitement de la fonction post

La cal API POST l sera traité en arrière-plan par src/routes/index. js, par n’importe quelle fonction vivant sous le nom  » post.  » Comptons-nous là-dessus maintenant. Le Listing 2 révèle le corps de index.js.

Listing 2. index.js import clientPromise from './ lib/mongo'; exporter la fonction asynchrone post () const dbConnection = attendre clientPromise ; const db = dbConnection.db(); const collection = db.collection('apothegm'); let apothegm = attendre request.json(); const dbApothegm = attendre collection.insertOne(apothegm); return

La toute première chose que nous voyons dans le Listing 2 est une importation dans une bibliothèque d’assistance que nous allons vérifier dans une minute. Vient ensuite la fonction post elle-même, qui prend un argument de requête par déstructuration à partir du framework SvelteKit. Cet objet de requête attend que nous devions traiter une requête HTTP.

Dans notre cas, nous ouvrons une connexion à la base de données en utilisant l’assistant de base de données, obtenons un pointeur vers la collection  » apothegm « , puis récupérons le contenu du corps frontal au moyen de la requête wait Approche .json().

La méthode place le corps de la demande dans la collection de la base de données et renvoie un statut « tout va bien » de 200.

Le port MongoDB

Maintenant, regardons le /src/lib/mongo. js, affiché dans Noting 3, que nous utilisons pour accéder à la base de données. Il s’agit principalement de l’assistant canonique proposé par les documents MongoDB, avec un léger ajustement. Notez également que, pour la fonction de la présentation, j’ai choisi d’inclure l’URL de la base de données directement dans le fichier. Ne faites pas ça dans la réalité ! C’est une faille de sécurité ostentatoire. Pour une application réelle, vous auriez besoin d’externaliser l’URL dans une variable d’environnement.

Listing 3. Lien vers MongoDB (mongo.js) import dotenv from 'dotenv'; dotenv.config(); import from 'mongodb';// const uri = process.env [' MONGODB_URI'];// ** Ne faites pas cela dans la vraie vie **: const uri = "mongodb srv://:@cluster0.foobar.mongodb .net/myFirstDatabase?retryWrites=true&w=majority "; const alternatives= let client let clientPromise if(! uri)throw new Error('Please include your Mongo URI to.env.local') if (process.env ['NODE_ENV']==='advancement' ) else // Export une garantie MongoClient étendue au module.// En faisant cela dans un module différent,// le client peut être partagé à travers les fonctions. exporter la promesse client par défaut ; Cet assistant est assez simple. La plus grande complexité réside dans

la gestion des environnements de développement et de production. Passons à l’établissement de la base de données. MongoDB Atlas : la base de données en tant que service MongoDB est une base de données orientée document,

l’un des premiers et des plus populaires datastores NoSQL.

Atlas est le service cloud géré par MongoDB, ou base de données en tant que service (DBaaS). MongoDB Atlas vous permet d’accéder à une base de données hébergée par MongoDB et de l’utiliser au moyen d’une API. Gardez à l’esprit que pour cette prochaine étape, vous devrez créer un compte MongoDB Atlas gratuit.

L’inscription est simple et rapide. Lorsque vous avez un nouveau compte, vous serez redirigé vers le panneau de contrôle, où vous créerez un nouveau projet en appuyant sur le bouton Nouveau projet. Ensuite, il vous sera demandé de nommer le nouveau travail, que j’ai

appelé apothegm-foundry. Vous aurez également la possibilité d’ajouter des utilisateurs et des approbations, mais vous pouvez ignorer cette offre puisque vous avez été immédiatement ajouté. Confirmez le projet en appuyant sur Produire un projet. Ajouter une base de données Un travail est un seau pour les bases de données. Ajoutons maintenant une base de données encliquant sur Créer une base de données

. Ici, une option de niveau vous sera proposée. L'utilisation d'une base de données partagée et gratuite fonctionne pour nos fonctions. Lorsque vous êtes prêt, appuyez sur Produce. Ensuite, vous recevrez un ensemble d'options concernant les sociétés et les régions de cloud. Vous pouvez accepter la

valeur par défaut pour le moment, mais il est agréable de voir que nous pourrions choisir parmi Amazon Web Services (AWS), Google Cloud Platform (GCP) ou Microsoft Azure. Cliquez sur Produire un cluster. Ensuite, vous êtes invité à développer un utilisateur pour la base de données. Vous pouvez produire un mélange nom d'utilisateur-mot de passe ou un utilisateur basé sur un certificat

. Nous prendrons le nom d'utilisateur et le mot de passe pour plus de facilité. Choisissez une combinaison que vous garderez à l'esprit et cliquez sur Développer l'utilisateur. C'est le nom d'utilisateur et le mot de passe que vous mettrez dans mongo.js. Maintenant, faites défiler jusqu'à D'où souhaitez-vous créer un lien. Vous pouvez utiliser votre adresse IP régionale, mais pour les besoins de cette démo, vous pouvez simplement entrer 0.0.0.0/ 0.

Encore une fois, nous gardons les choses simples ici, mais vous ne le feriez pas obtenir une adresse IP aléatoire pour une application du monde réel. Vous auriez besoin d'entrer l'adresse IP réelle ou la plage d'adresses IP. Depuis la console principale MongoDB Atlas, vous pouvez toujours trouver votre chaîne de connexion en cliquant sur la base de données et en appuyant sur le bouton Lien. Cela vous permet d'obtenir une fenêtre contextuelle dans laquelle vous pouvez choisir le choix Se connecter avec l'application. Ce choix fournit une chaîne du genre : mongodb srv://:@cluster0.foobar.mongodb.net/myFirstDatabase?retryWrites=true&w=majority Incluez le nom d'utilisateur et le mot de passe que vous avez simplement choisis, puis revenez en arrière au fichier mongo.js et ajoutez-y la chaîne. Maintenant, lorsque vous utilisez le type sur l'application Svelte et appuyez sur Soumettre, vous devriez pouvoir accéder à la console MongoDB Atlas et voir un bouton Parcourir la collection. Vous devriez voir une entrée reflétant ce que vous entré dans le formulaire, similaire à ce que j'ai dans la liste 4. Liste 4. Entrée d'Apothegme dans MongoDB 1. _ id:6228 f438e294d2c79754b64f 2. apothegme : "Kind et vide sont un "3. author:" Unidentified "Donc, l'environnement de développement fonctionne. La prochaine étape est la libération. Publier l'application : GitHub et Vercel Avant de pouvoir déployer l'application

avec Vercel, nous devons créer un référentiel source dans GitHub. Vous aurez besoin d'un compte GitHub gratuit.

En supposant que vous l'ayez, suivez les étapes pour produire un nouveau référentiel. Ensuite, revenez à la ligne de commande et occupez le référentiel avec votre code d'application. (Notez que le démarreur SvelteKit a déjà ajouté un fichier. gitignore.

) Lorsque la source de l'application est archivée dans la branche principale, vous êtes prêt à accéder à Vercel. Vercel facilite la création d'un compte "Hobby" totalement gratuit. J'ai utilisé mon compte GitHub pour l'accès SSO (single sign-on) à Vercel. Lorsque vous avez un compte, suivez les étapes pour lier votre compte GitHub et accorder l'autorisation à Vercel. Vous devrez également donner votre consentement à Vercel dans GitHub pour un référentiel particulier ou tous les référentiels où vous hébergez du code. Ouvrez simplement le menu déroulant sur le profil de votre compte et appuyez sur Paramètres, puis faites défiler vers le bas jusqu'à

le choix de gauche Intégrations-> Applications et cliquez dessus. Maintenant, faites défiler la page principale jusqu'à la section Accès au référentiel. Là, vous pouvez approuver l'accès de Vercel au référentiel particulier (comme illustré à la figure 1) ou à tous. IDG Figure 1. Accorder l'accès à Vercel via GitHub. Ensuite, allez dans Vercel et importez le référentiel. Remarquez comment Vercel trouve l'application en tant qu'application SvelteKit. Il devrait importer et déployer l'application sans problème. Maintenant, allez sur Vercel et vous devriez voir votre candidature dans le tableau de bord. Cliquez dessus et cela ouvrira le résumé, qui devrait ressembler à l'écran de la Figure 2. IDG Figure 2. L'introduction de l'application dans Vercel. Vous pouvez cliquer et ouvrir l'application en cours d'exécution à une URL telle que sveltekit-vercel-mongo. vercel.app. Si vous obtenez un nouvel apothegme

et auteur, vous devez avoir la possibilité de recharger la console à l'aide de la vue de collection de base de données MongoDB Atlas et de la voir reflétée là-bas. Votre application de production est maintenant

active et fonctionne sur une base de données. Conclusion Il y a 3 parties dans cette pile, et elles fonctionnent toutes assez parfaitement ensemble. Vercel a beaucoup travaillé en coulisses

pour que la mise en production ait lieu. Entre autres choses, notez qu'il peut être configuré pour libérer automatiquement de nouvelles poussées vers la branche principale. De même, découvrez que les journaux de construction sont facilement disponibles, ainsi que les journaux de l'application en cours d'exécution. La partie back-end de l'application SvelteKit a été déployée en tant que fonction sans serveur, ses journaux sont donc disponibles en cliquant sur Déploiements--> Fonctions. Sans aucun doute, il y a du travail à faire pour solidifier cette

application de démonstration

en quelque chose que vous pourriez vraiment utiliser (par exemple, vous souhaiteriez différentes bases de données pour le développement et la production). Ce qui est intrigant, c'est que vous disposez actuellement d'un puissant framework full-stack (SvelteKit ), d'un pipeline de déploiement (Vercel) et d'une banque d'informations (MongoDB ). Et le tout fonctionne sur une infrastructure qui peut évoluer énormément.

Toute l'actualité en temps réel, est sur L'Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

xnxx sex download russianporntrends.com hardxxxpics saboten campus freehentai4u.com read manga porn rakhi sex photo ganstagirls.com nani sex video xxx indian girl video download elporno.mobi tamilauntycom bf hd video bf hd video porn555.me anyporn hd tamil beach sex erolenta.com xxx sex boy to boy bustyboobs pakistanixxxx.com nude sexy videos desi sex xvideos.com tubaka.mobi justdesi in free naked dance vegasmpegs.mobi eva grover desi ass lick eroanal.net 69 xvideo 4k xnxx thefuckingtube.com xxii roman numerals translation tamil nayanthara sex sexozavr.com indian porn videos tumblr كلبات سكس porn-arab.net نيك ف الكس y3df comics popsexy.net akhil wife hentai ahri wowhentai.net the sarashina bloodline