J'ai une application Node en backend et je veux la connecter avec une interface AngularJs. Ils sont assis sous le même repo, sur des dossiers différents. L'application My Node fonctionne bien, je peux interagir avec elle en utilisant Postman et le navigateur.frontend + backend: erreur koa-proxy 404
Je suis allé avec l'approche proxy, créé une application simple de nœud pour servir le back-end en utilisant koa
comme suit:
module.exports = (function() {
'use strict';
var koa = require('koa');
var serve = require('koa-static');
var proxy = require('koa-proxy');
var logger = require('koa-logger');
var app = new koa();
app.use(logger());
app.use(proxy({
host: 'http://0.0.0.0:8080/',
match: /^\/api\//
}));
app.use(serve('./app'));
app.listen(8000);
})();
L'idée est d'avoir toutes les demandes émises contre /media
à proxied au back-end. Le code AngularJS ressemble à ceci:
'use strict';
angular.module('myApp.polls', ['ngRoute', 'ngResource'])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/polls', {
templateUrl: 'polls/polls.html',
controller: 'PollsCtrl',
controllerAs: 'vm'
});
}])
.controller('PollsCtrl', ['$resource', function($resource) {
var vm = this;
vm.polls = [];
function getPolls() {
$resource('/api/polls').query({}, {}).$promise.then(
(polls) => {
vm.polls = polls;
},
(error) => {
console.log(error);
}
);
}
getPolls();
}]);
Mais quand je charge la page, je reçois un 404 sur la console:
angular.js:12701 GET http://localhost:8000/api/polls 404 (Not Found)
Et mon application back-end n'a pas obtenu de réponse. J'ai essayé de changer l'hôte sur la config de proxy à quelque chose de factice et ai obtenu une erreur différente, qui confirme que la demande est envoyée par proxy.
Alors, qu'est-ce qui me manque ici?