Routage Express + Angulaire provoquant une boucle infinie + crash

Je travaille sur une application Node utilisant Express ainsi que Angular. J’utilise Angular pour l’acheminement et mes itinéraires sont configurés comme suit:

app.config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/', { templateUrl: '/partials/main' //controller: 'IndexController' }).when('/discover', { templateUrl: '/partials/discover' }).when('/user/home', { //HERES THE PROBLEM CHILD!!!!! templateUrl: '/partials/user/home' }).otherwise({ redirectTo: '/' }); }]).config(['$locationProvider', function ($locationProvider) { $locationProvider.html5Mode(true); }]); 

Maintenant, chaque fois que j’essaie d’appeler /user/home – La page passe dans une boucle infinie et continue à recharger le contrôleur. Je peux voir dans la console de nœud que la page a été appelée à partir de partials/user/home qui contient certainement un fichier Jade. J’ai vérifié d’autres messages, la plupart d’entre eux sont résolus avec le / au début du chemin des partiels, cela n’a pas aidé ici. La page se charge bien si je transfère home.jade dans le répertoire /partials sans sous-répertoire. Des idées?

Mise à jour: Il semble que la boucle infinie se produise à chaque fois que j’essaie de charger un partiel dans un sous-répertoire de partiels.

Par reqûette:

Node – App.js:

 app.get('/', routes.index); app.get('/partials/:name', routes.partials); app.get('*', routes.index); 

Et routes / index.js

 exports.index = function(req, res) { res.render('index', { title: 'Open Innovation Station' }); } exports.partials = function(req, res) { res.render('partials/' + req.params.name); } 

La règle de routage que vous avez spécifiée pour les partiels ne correspondra à aucune demande adressée à des sous-répertoires du dossier des partiels, par exemple / partials / folder / file. L’adaptateur de chemin de routage considère / comme un séparateur entre les variables. Par conséquent, afin de pouvoir disposer de sous-dossiers dans votre répertoire de partiels, vous devrez append une autre règle à votre application et définir une fonction pour gérer le rendu de ce modèle. Ceci est montré ci-dessous:

app.js

 app.get('/partials/:directory/:file', routes.subpartials); 

routes / index.js

 exports.subpartials = function (req, res) { var file = req.params.file, directory = req.params.directory; res.render('partials/' + directory + '/' + file); }; 

En utilisant html5Mode(true) , vous devrez vous préoccuper de tout chemin relatif – que vous utilisez pour vos partiels. Je pense que la récursion dans votre cas aurait pu être résolue en ajoutant:

  

à votre .