Bonjour,
Salut !
J'ai créer une application Laraval en utilisavent vueJs intégré au Framework .
Le problème se trouve au niveau des routes avec vue-routeur .
Voila je rencontre un petit problème avec mon code.
Je vous actuelement gardé les routes de mon application VueJs même si j'actualise la page .
www.momaine.com/login ( avec vuejs router )
quant j'actualise boom
www.momaine.com/login ( avec Route native PHP LAravel ) me donnant la page login de laravel au lieu de loa page login de vueJs
Problème d'architecture je pense. Si tu sert les mêmes routes coté serveur ET coté client, alors il faudra mettre les vues (views) en accord. Afin que le site soit le même peut importe à quel moment on recharge. C'est compliquer et ennuyant à mettre en place.
Souvent dans une WebApp le serveur (ici supporter par Laravel) ne sert qu'une seule vue au client, qui contient l'application front end. C'est cette application front end seulement qui va se charger du rendu (contenu HTML) en fonction de l'url. Bien sur le serveur doit savoir reponre à d'autre requête, tel que la validation de formulaire etc..
Ce que je fais perso c'est de definir toutes les url qui font un traitement spécial (chercher des données, valider un formulair etc ...), j'associe toutes ces url à des controllers etc. Ensuite de type "/{url}", cette url exclue donc toutes les url précedentes et peut simplemer envoyer la vue de base au client.
Pour résumer
routes.php (ou web.php)
Route::get("/api/users/1", "UsersController@getUser"); // Réponse en JSON / XML etc ..
Route::post("/contact","ContactController@send"); // Pareil
....
Route::get("/{url}",function () {
// La vue de "base" qui contient l'application frontend
// Seule url qui renvoie une vue html
return view("webapp");
});
webapp.blade.php
html
head
meta...
css...
body
(pratiquement vide)
script(app.js)
Et c'est donc seulement app.js qui dessinera la page, non pas ton serveur.
Si tu veux vraiment que le serveur puisse aussi envoyer des vues autre que celle de base, et que le tout reste cohérent, il existe des choses comme Next.js (pour react je pense) et Nuxt.js (pour vue). Mais c'est du nodejs et donc implique une réecriture de ton backend.
J'espère avoir pu aider