私はバックエンドとしてNodeアプリケーションを持っており、AngularJsフロントエンドに接続したいと思っています。彼らは、同じレポの下に、別のフォルダに座っています。私のNodeアプリケーションは正常に動作していますが、私はPostmanとブラウザを使って対話できます。frontend + backend:koa-proxyエラー404
私は、プロキシアプローチと一緒に行った、次のようにkoa
を使用してバックエンドを提供するために、単純なノードのアプリを作成しました:
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);
})();
アイデアは、バックエンドにプロキシする/media
に対するすべての要求発行を持つことです。 AngularJSコードは次のようになります。
'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();
}]);
しかし、私はページをロードするとき、私は、コンソール上で404を取得:
angular.js:12701 GET http://localhost:8000/api/polls 404 (Not Found)
そして、私のバックエンドアプリは任意の応答を取得できませんでした。私は何かダミーにプロキシ設定のホストを変更しようとし、要求がプロキシされることを確認する別のエラーが発生しました。
ここで私は何が不足していますか?