Bonjour,

J'ai comme projets de créer un site entièrement en javascript avec node, express, mongo et angular - vue (je sais pas encore lequel).

Mais j'ai une petite question qui va paraître stupide pour la plupart d'entre vous, mais je coince dans ma réfléxion à ce niveau là.

Quand je vais render la page dans mon server en lui passant toutes les infos utiles, ça je comprends.
Mais c'est plutôt le sens inverse que j'ai du mal à visualiser.
Quand je suis sur mon client, comment je peux faire pour dire à mon serveur, je veux me connecter , fait telles actions sans l'obliger à lancer une page index.html/action/:id des trucs comme ça pour que ça soit cacher et que l'on passe de la page login.html à index.html par exemple.

Merci pour votre aide,
Je suis conscient que ma pensée est un peu farfelue donc si vous voulez un peu plus de précisions je serais ravi d'expliquer un peu plus :D

7 réponses


alors si tu utilise angular tu n'as pas besoin de faire un render de ta vue, il suffit de charger au demarage la page index.html qui elle charge ton appli angular et apres juste a créer des route qui font un res.json()plutot qu'un res.render()et dans ton service angular un
$http.get(url/node/du/service/) pour récupéré la donnée.

pour vue il faut aussi passer par des requettes Ajax pour allimenter ton composant et donc faire la meme chose que angular. la seul différence c'est que pour vue tu peut rendre un template jade ou handlebars donc faire un res.render()pour rendre le template avec l'id de ton composant rataché dessus. ou alors faire du server side rendering avec vue.

Neewd
Auteur

Merci pour ta réponse,

Je pense plutôt partir sur Vue.js avec les tutos déjà présents sur le site. Il a l'air plus facile à appréhender.
Tu penses qu'il faut lancer des requêtes AJAX via le fichier Vue.js ?
Et qu'entends tu par le "server side rendering" ? Késako ?

alors le problème courant avec les SPA c'est que les composants sont chargé par javascript donc tres mal référencable par les moteur de recherche, les technologie comme react, angular2 ou encore vuejs2(je suis pas sur pour celui-ci) peuvent etre rendu depuis le server et donc rendre une page html deja formé avec le contenu et donc référencable. je te laisse aller voir un petit post cool à propos de tous ca.

oui tu peut envoyé une requette ajax depuis ton composant vuejs pour pouvoir intéroger le server et afficher l'info que tu veut dans ton composant.

Neewd
Auteur

Ah oui c'est vrai que j'avais pas pensé au référencement, mais après c'est pour un site perso donc le référencement m'importe peu, mais sait on jamais pour d'autres projets il faudrait que j'y pense :D

Je vais aller regarder du côté de Vue.js pour voir ce qu'ils font en AJAX et pareil côté Express :)

regarde la formation nodejs de grafikart, tu apprendre un peut plus de chose ;-) tu as l'air tres debutant et ca peut vite devenir le bordel quand on demare mal

Salut,

Pour une app Angular, je te conseille d'utiliser la directive $resource pour taper sur ton API NodeJS (http://devdocs.io/angularjs~1.5/api/ngresource/service/$resource)

Neewd
Auteur

Defy, pourtant je ne suis pas un gros débutant , c'est juste qu'en y réfléchissant au boulot j'avais ce trou, et toutes les documentations ne sont pas dispo au boulot.
Mais la réponse de betaWeb m'a orienté vers https://github.com/pagekit/vue-resource, ça à l'air de répondre à mon besoin, j'aurais juste besoin d'écouter en POST une certaine URL et ça devrait aller :D