Bonjour à tous ,

Voila, je découvre NodeJS. Comme beaucoup, je tatonne, je test, j'essaie etc ... dans les tutos (merci grafikart ;-) ) j'avoue avoir été séduit par express et par vuejs seulement voilà, si l'un semble être côté serveur (express) , vuejs, lui semble n'être qu'un "frontend" ...
j'ai vu qu'il était possible d'utiliser différents moteur de template dans express, donc serait-il possible d'utiliser vuejs ou bien existe-t-il un moyen de les utiliser conjointement pour une application ?

Ma logique est peut-être bancale, ça j'en ai l'habitude ;-) , mais en fait j'aimerai utiliser vuejs alors que j'ai différents module perso sur mon serveur qu'il faudrait appeler suivant qu'on appuis sur tel ou tel bouton.

Exemple : quand je clique sur un bouton, j'aiemrais appeller un module "monModule.js" (se terminant avec un " module.exports = monModule ") sur mon serveur géré par express, qui me renvoie, par exemple, un simple tableau en js .. comment utiliser ce tableau dans vuejs par la suite ? ... je sais bien que vuejs ne travaille que côté client alors que mon module est côté serveur

Merci d'avance d'éclairer ma petite lanterne :)

3 réponses


Demandred
Réponse acceptée

Salut !

Tu peux parfaitement utiliser les deux, tu as juste à demander à express de créer un serveur et de servir tes fichiers statics (js/css) et ton index.html. Et vue.js s'occupera du reste. Pour la base de donnée tu peux utiliser un module npm et la bdd de ton choix pour communiquer avec ton application. Personnellement j'utilise deployd qui est sympa et facile d'utilisation (tout en proposant des fonctions de bases comme la gestion des utilisateurs). Si tu veux utiliser un autre outil ça marche aussi, et vue-ressource fait bien le travail pour communiquer avec ton api !

Voici à titre d'exemple le code de mon server.js :

// server.js
const http = require('http');
const fs = require('fs');
const express = require('express');
const deployd = require('deployd');

// on lance le serveur via express et on charge les fichiers statiques
const app  = express();
app.get('/', function(request,reponse) {
    reponse.sendFile(__dirname + "/index.html");
    app.use('/static',express.static('static'))
})
app.listen(8080);

// on lance la bdd via deployd
const options = {port: 1888, env : "development"};
const dpd = deployd(options);
dpd.listen();

Mon fichier index.html à juste à charger les css et js du dossier "static" ainsi qu'un fichier dpd.js crée à la volée sur localhost:1888 pour communiquer avec ma bdd et tout fonctionne ! Si ta bdd utilise une api tu as juste à l'appeler via vue-ressource !

En espérant que ça répondra à ta question. ;)

Hey !

Je me suis posé la même question tout à l'heure car j'aimerai faire la même chose.
Et tu peux utiliser angular et express donc pourquoi tu ne pourrais pas utiliser vue et express :D

J'ai vu sur le net le plugin vue-ressource qui permet de faire un appel au serveur depuis ton client.
C'est ce qui est marqué sur le papier et je ne l'ai pas essayé mais tu peux essayer de voir par là.

Par contre pour renvoyer des données j'ai pas encore regardé :)

bahcmoa
Auteur

Merci Demandred ! ... quand je dis que ma logique me joue des tours parfois .. je m'entêtais à installer vuejs dans mon projet via npm alors qu'il suffit de le charger via le cdn dans une simple balise <script> .... je vais explorer tout ça ....

encore merci :-)