Мне нужно запросить автоматические маршруты, созданные из https://github.com/o1lab/xmysql на порту 3000 из моего vue.js dev env, работающего на порту 8080.
vue.config.js:
module.exports = {
devServer: {
proxy: {
"/api": {
target: "http://localhost:80", // Works perfeclty
},
"/": {
target: "http://localhost:80", // Works perfectly
},
"/generated": { // Not working
target: {
port: 3000
},
secure: false,
ws: false,
changeOrigin: true
}
},
hot: true,
liveReload: true,
}
};
xmysql params:
xmysql -h localhost -u root -p password -n 3000 -a /generated/ -d myDatabase
Мой vue.js axios получает запрос:
axios
.get('/generated/meetings', {
headers: {
'Access-Control-Allow-Origin': 'all',
}
})
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error);
});
Ошибка:
Cannot GET /generated/meetings
Я могу получить доступ к маршрутам localhost на моем localhost: 3000 в свой навигатор Firefox, и они работают очень хорошо:
Похоже, прокси не работает, есть идеи?
Я безуспешно пробовал другие параметры vue.config.js:
devServer: {
proxy: {
"/api": {
target: "http://localhost:80",
// ,pathRewrite: {'^/api' : ''}
},
"/": {
target: "http://localhost:80",
},
"/generated": {
target: "http://localhost:3000",
pathRewrite: { '/generated': '' },
secure: false,
ws: false,
changeOrigin: true
}
},
hot: true,
liveReload: true,
}
Работает только этот запрос:
axios
.get('localhost:3000/generated/meetings', {
headers: {
'Access-Control-Allow-Origin': 'all',
}
})
.then(response => {
console.log(response)
})
.catch(error => {
console.log(error);
});
Но тогда возникает проблема CORS, и я не могу получить «ответ», даже если он отображается в запросе консоли Firefox, я могу получить только ошибку.