みなさんこんにちは、現役エンジニアのサメハックです
未経験からWebエンジニアに転職し、
正社員として5年働いたのちフリーランスとして独立しました。
Vue.jsの解説シリーズです。
今回はDocker環境でのVue.jsのプロキシ設定について学んでいきましょう!
駆け出しエンジニアや未経験の方、
また新入社員を指導する先輩社員にとっても
わかりやすいように解説していきます!
この記事を読むと・・・
- Docker環境でのプロキシ設定が出来る
Docker環境でのvue.config.jsの設定
![](https://samehack.com/wp-content/uploads/2024/05/blog_blog_DSC08918-1-1024x799.jpg)
Docker使用時にはtargetのパスはlocalhostではなく、
コンテナのバックエンドのサービス名を指定する必要があります
今回は以下のような環境で動いている想定となります。
- フロント → http://localhost:8080
- バックエンド → http://localhost:3000
Dockerで動いているサービス名を取得するコマンドだよ!
sudo docker-compose config --service
vue.config.js
![](https://samehack.com/wp-content/uploads/2024/05/blog_blog_DSC08918-2-1024x799.jpg)
module.exports = {
devServer: {
port: 8080, // フロントエンドのポート
proxy: {
'/api': {
target: 'http://backend:8000', // コンテナのバックエンドのサービス名
changeOrigin: true,
pathRewrite: { '^/api': '' }, // '/api' のプレフィックスを削除
}
}
}
};
これでフロントエンドからHTTP通信ができるよ!
fetch(‘api/user’)
フロントエンド:apiの前のスラッシュは不要
バック エンド:apiの前のスラッシュが必要
まとめ
![](https://samehack.com/wp-content/uploads/2021/11/dfe65cc8c5d3185e7b92ade5af4cc6bb-4-1024x264.jpg)
- Docker環境ではvue.config.jsのtargetにコンテナのサービス名を指定する
![](https://samehack.com/wp-content/uploads/2021/09/00c3d3cf1d32995d7b5414ac551d13f3.png)
満足いただけたら、1クリックなのでSNSフォローしてもらえると嬉しいです🦈