0
votes

Connexion de la base de données avec Svelte

Je suis nouveau dans l'utilisation de Svelte et j'aimerais créer un site Web de commande avec Svelte. Je sais que j'aurai besoin d'une base de données pour suivre la commande, le nom du client, le prix, etc. J'ai déjà utilisé MySQL mais je n'ai pas appris comment connecter une base de données à un site Web.

  • Y a-t-il une base de données spécifique que vous pouvez utiliser si vous utilisez Svelte? Ou existe-t-il un moyen de connecter MySQL à Svelte?

  • J'ai recherché à ce sujet sur Youtube et Google, mais je ne suis pas sûr que ce soit différent si vous utilisez Svelte, donc je voulais m'en assurer.

Remarque: je n'ai pas encore démarré ce projet, donc je n'ai pas de code à afficher Je veux juste savoir comment vous pouvez connecter une base de données si vous utilisez Svelte.


3 commentaires

Avez-vous essayé Googling 'Svelte DB'?


@rleir Oui, mais je n'ai pas été en mesure de trouver un tutoriel ou quoi que ce soit qui me dirait comment connecter la base de données au site Web.


Ceci est une belle vidéo sur la façon de créer une application de tâches svelte avec Firebase - Firestore: youtube. com / watch? v = 043h4ugAj4c ou lisez le didacticiel ici: Fireship. io / leçons / svelte-v3-overview-firebase


4 Réponses :


3
votes

Je peux faire un exemple avec mongodb

Vous devez installer la bibliothèque

const mongo = require("mongodb");

let client = null;
let db = null;

export async function init() {
  if(!client) {
    client = await mongo.MongoClient.connect("mongodb://localhost");
    db = client.db("name-of-your-db");
  }
  return { client, db }
}

ou ajouter package.json

Ensuite, vous avez pour créer un fichier de connexion que vous devez appeler chaque fois que vous devez utiliser la base de données

npm install mongodb

pour un exemple complet avec insertion, vous pouvez voir cette vidéo

https://www.youtube.com/watch?v=Mey2KZDog_A p >


0 commentaires

0
votes

Comme je reçois des questions principalement sur la connexion au backend, pas sur une base de données. C'est dommage, mais le modèle d'application svelte n'a aucun moyen de connecter le backend "dans la boîte".

Et moi, j'utilise un middleware express devant le serveur de rollup. Dans ce cas, vous pouvez envoyer par proxy certaines demandes au serveur principal. Vérifiez le code ci-dessous

const proxy = require('express-http-proxy');
const app = require('express')();

app.use('/data/', proxy(
    'http://backend/data',
    {
        proxyReqPathResolver: req => {
                return '/data'+ req.url;
            }
        }
    )
);

app.use('/', proxy('http://127.0.0.1:5000')); 
app.listen(5001);

Ce script ouvre le port 5001 où vous avez l'URL / data / proxy vers le serveur backend. Et le port 5000 est toujours disponible à partir du serveur de cumul. Donc, à http: // localhost: 5001 / vous avez une intance svelte, connectée à l'url backend vi / data / , ici vous pouvez envoyer des requêtes pour récupérer des données de la base de données.


0 commentaires

5
votes

Svelte est un framework javascript frontal qui s'exécute sur le navigateur.

Traditionnellement, pour utiliser des bases de données comme mysql à partir d'un projet frontal tel que svelte, (qui ne contient que html, css et js), vous devez le faire avec un projet backend séparé. Vous pouvez ensuite communiquer l'application svelte et le projet backend à l'aide de l'API REST. La même chose s'applique à d'autres bibliothèques / frameworks frontaux comme react, angular vue, etc.

Il y a encore tellement de façons d'atteindre le résultat. Puisque vous vous concentrez sur Svelte, voici quelques options.

1 Sapeur

Sapper est un framework d'application alimenté par svelte. Vous pouvez également écrire du code backend en utilisant express ou polka pour que vous puissiez vous connecter à la base de données de votre choix (mysql / mongodb)

Serveur à 2 utilisateurs sans base de données

Si vous voulez que votre application soit simple et que vous vous concentriez uniquement sur l'application svelte, vous pouvez utiliser des bases de données basées sur le cloud telles que firebase . Svelte peut leur parler directement via leur SDK javascript.

3 architecture monolithique

Pour vous connecter avec mysql dans le backend, vous devez utiliser un langage de programmation d'application côté serveur tel que nodejs (express) php ou python ou tout ce que vous connaissez. Ensuite, utilisez peut intégrer l'application svelte ou utiliser api pour transmettre des données à l'application svelte.


0 commentaires