Używam szablonu vue-cli
webpack-simple
do generowania moich projektów, a ja chciałbym prosić o serwer proxy na osobny serwer zaplecza. Jak można to łatwo osiągnąć?Żądania proxy na oddzielnym serwerze zaplecza z vue-cli
Odpowiedz
Jeśli używasz webpack
szablon z vue-cli
, można znaleźć wymagane informacje zawarte w tym dokumencie referencyjnym:
http://vuejs-templates.github.io/webpack/proxy.html
Albo zamiast zmieniać szablon teraz, można skopiować odpowiedni config z szablon webpack
do lokalnego szablonu webpack-simple
.
EDIT: Więcej informacji z mojej lokalnej konfiguracji
To co mam w config/index.js
pod module.exports
:
dev: {
env: require('./dev.env'),
port: 4200,
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: 'http://localhost:8080',
changeOrigin: true
},
'/images': {
target: 'http://localhost:8080',
changeOrigin: true
},
// and so on...
Powyższa konfiguracja przebiega mój vue-cli
na porcie 4200, a ja prowadzę serwer na porcie 8080.
EDYCJA: poprawione informacje o CORS po komentarzu nr 4 i nr 5
Uwaga:
- Opcja
changeOrigin
wdev.proxyTable
(w WebPACK config) gwarantuje, że nie trzeba służyć nagłówki Cors na swoich odpowiedziach API serwera. - Jeśli z jakiegokolwiek powodu postanowisz pominąć
changeOrigin
, musisz upewnić się, że interfejs API serwera zawieraAccess-Control-Allow-Origin: *
(lub odpowiednik) w nagłówkach odpowiedzi.
Referencje:
Czy korzystanie z prostego szablonu jest trudniejsze? –
Myślę, że "webpack-simple" ma na celu rozpoczęcie pracy z Vue.js. Szablon 'webpack' zapewnia dużo więcej konfiguracji, a nawet zawiera [szczegółową stronę pomocy] (http://vuejs-templates.github.io/webpack/) w celu uzyskania dodatkowych informacji. – Mani
Jak słusznie powiedziałeś, później stanie się trudniejsze, jeśli zaczniesz od prostego szablonu i napiszesz dużo kodu, ponieważ musisz sam wykonać wszystkie dodatkowe czynności konfiguracyjne. – Mani
naprawdę nie warto dokładnie przyjrzeć 'boilerplate Vue-cli' i używane [ten generator yeoman] (https://github.com/fountainjs/generator-fountain-vue) zamiast tego. Zacząłem, nawet gdy miałem małą wiedzę na temat webpack/gulp/browser-sync (chociaż było kilka gotch, kiedy próbowałem zintegrować go z backendem). Myślę, że warto spojrzeć i wybrać pomiędzy "vue-cli" a tym. –