2016-12-11 2 views
0

Я столкнулся с проблемой при общении между gulp-connect и gulp-stubby-server.gulp-connect и gulp-stubby-server communication

gulp-connect работает на порте 3006, а stubby работает на порте 8000, но как-то он пытается подключиться к обрезанию только на порте 3006, и я получаю ошибку 404. Я сделал конфигурацию промежуточного программного обеспечения для перенаправления всего запроса пути /my-server на прочный сервер, но он, похоже, не работает. Что мне здесь не хватает?

angular.js: 12185 POST http://localhost:3006/my-server/services/getTestData 404 (не найден)

var configuration = { 
    myProxy: _.extend(url.parse('http://localhost:8000/my-server/'), {route: '/my-server'}) 

} 
gulp.task('static', function() { 
    connect.server({ 
     root: ['target'], 
     port: 3006, 
     livereload: false, 
     middleware: function() { 
      return [ 
       proxy(configuration.myProxy) 
      ]; 
     } 
    }); 
}); 

gulp.task('stubby', function (cb) { 
    var options = { 
     files: [ 
      'mocks/test/*.{json,yaml,js}' 
     ], 
     callback: function (server, options) { 
      server.get(1, function (err, endpoint) { 
       if (!err) { 
        console.log(endpoint); 
       } 
      }); 
     }, 
     stubs: 8000, 
     tls: 8443, 
     admin: 8010 

    }; 
    stubby(options, cb); 
}); 

образец mock.json

{ 
    "request" : { 
    "url": "^/my-server/services/getTestData$", 
    "method": "GET" 
    }, 
    "response":{ 
    "status" : 200, 
    "headers" :{ 
     "Content-Type" : "application/json" 
    }, 
    "latency" : 1000, 
    "body" : "Some Test Data" 
    } 

} 

ресурс

var testResource = function($resource , CONS){ 
    console.log('test resource'); 

    var requestURL = '/my-server/services/getTestData'; 
    return $resource(requestURL , {},{ 
     getTestData: { 
      method: 'POST' 
     } 
    }); 
}; 

ответ

1

Посмотрите на журнал ошибок, отвечал:

angular.js: 12185 POST http://localhost:3006/my-server/services/getTestData 404 (Не найдено)

Это POST запрос, но вы только издевались GET запросы в ваш mock.json файл. Вы должны разрешить для обоих POST и GET запросов:

{ 
    "request" : { 
    "url": "^/my-server/services/getTestData$", 
    "method": ["GET", "POST"] 
    }, 
    "response":{ 
    "status" : 200, 
    "headers" :{ 
     "Content-Type" : "application/json" 
    }, 
    "latency" : 1000, 
    "body" : "Some Test Data" 
    } 
} 
+0

Это не сработало. Я получил метод «405 не допускается ошибка». Еще одна причина, почему номер порта в URL-адресе 3006? не должно быть 8000, потому что там мой макет работает. – user911

+0

Вы не должны получить ошибку 405. Я проверил его с кодом в вашем вопросе. Если он не работает, то код, который вы используете, не совпадает с кодом в вашем вопросе. –

+0

Этот код аналогичен моей среде. Я не уверен, в чем проблема. Я хотел бы принять ваш ответ, но поскольку он не разрешил мою проблему, я только поддержал это. Спасибо за помощь мне. – user911