Sto provando a utilizzare la configurazione proxy webpack-dev-server per inviare richieste API a un dominio esterno e non riesco a farlo funzionare.Webpack-dev-server non invia richieste a dominio esterno tramite proxy
Ecco la mia configurazione:
var path = require('path')
module.exports = {
entry: './client/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'public/assets'),
publicPath: 'assets'
},
devServer: {
contentBase: 'public',
proxy:{
'/api/v1*': {
target: 'http://laravelandwebpack.demo/',
secure: false
}
}
}
}
Così, ogni volta che la mia app fa una richiesta con l'URI /api/v1...
è necessario inviare la richiesta al http://laravelandwebpack.demo
.
Nel mio Vue app, sto usando il vue-resource
per fare le richieste e sto inadempiente tutte le richieste con il prefisso uri necessaria:
var Vue = require('vue')
Vue.use(require('vue-resource'))
new Vue({
el: 'body',
http: {
root: '/api/v1', // prefix all requests with this
headers:{
test: 'testheader'
}
},
ready: function(){
this.$http({
url: 'tasks',
method: 'GET'
}).then(function (response){
console.log(response);
}, function (response){
console.error(response);
})
}
})
del vengono costruiti in modo corretto, ma sono URL ancora indicando localhost:8080
che è il webpack-dev-server:
ho letto e riletto la documentazione per webpack-dev-server e non riesco a capire dove ho sbagliato da esso istituito . Qualche idea?
gli URL siano correttamente indicando 'localhost: 8080', perché questo è il vostro devserver, e solo dopo che la richiesta è arrivata lì, il proxy devserver volontà esso (aka inviarlo tramite a) l'esterno url hai fornito. Gli sviluppatori non noteranno mai il proxy. Che cosa succede alle tue richieste, è il promettere.catch() che registra un errore? che cos'è? (e non stai usando il modello webpack di vue-cli per caso?) –