前提・実現したいこと
以下のサイトを参考に、Docker+viteで(vue.js+Typescript の環境を)構築しております。
https://zenn.dev/ayuu/articles/84b482c37bea9a
構築した環境に対して、VScodeでリモートデバッグを実施しておりますが、ブレークポイントで意図通りに止まらない現象が起きており、これを解消したいです。
発生している問題
下記図のようにブレークポイントを置き、デバッグ実行します。
ブレークポイントを置いたファイルと同名だが、異なるファイルで止まってしまいます。(実際にブレークポイントを置いた場所では止まらない。)
該当のソースコード
リモートデバッグのためのlaunch.jsonは下記になります。
{ "version": "0.2.0", "configurations": [ { "type": "chrome", "request": "launch", "name": "client", "url": "http://localhost:5173/", "webRoot": "${workspaceFolder}/", } ] }
dockerの設定ファイルは下記になります。
docker-compose.yml
version: "3.6" # docker-composeのバージョン選択 services: node: build: context: . # Dockerfileがあるディレクトリ dockerfile: Dockerfile # Dockerfileの名前 volumes: # データの永続化 - ./:/app:cached # ホストのカレントディレクトリとコンテナ内の作業ディレクトリを同期 - node_modules:/app/node_modules # 特定のパスを独立した名前付きボリュームとして定義 environment: # 環境変数 - CHOKIDAR_USEPOLLING=true # ホットリロードを可能にする tty: true ports: # ホストのポートとコンテナのポートを接続 - '5173:5173' command: yarn dev # 実行コマンド 今回はviteの実行コマンド volumes: # 名前付きボリュームの設定 node_modules:
Dockerfile
# Alpine Linuxベースの最新バージョンnodeを採用 FROM node:18-alpine # コンテナ内の作業ディレクトリ WORKDIR /app ENV LANG=C.UTF-8 \ TZ=Asia/Tokyo COPY package.json yarn.lock ./ RUN yarn install EXPOSE 5173
試したこと
viteではなくVue CLIを使用して同様にdocker上で確認したところ、下記図のように上手くいきました。
デバッグ実行開始(上記図でブレークポイントを置いた場所で止まる)
###ソースコード
リモートデバッグのためのlaunch.jsonは下記になります。(viteの際とurlの項目以外同じになります。)
{ "version": "0.2.0", "configurations": [ { "type": "chrome", "request": "launch", "name": "client", "url": "http://localhost:8080/", "webRoot": "${workspaceFolder}/", } ] }
dockerの設定ファイルは下記になります。
docker-compose.yml
version: "3" services: node: image: node:12-alpine expose: - "8080" - "9229" ports: - 8080:8080 - 9229:9229 volumes: - .:/mnt working_dir: /mnt command: yarn serve
Dockerfile
FROM node:lts-alpine ENV NODE_ENV=production WORKDIR /usr/src/app COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"] RUN npm install --production --silent && mv node_modules ../ COPY . . EXPOSE 8080 RUN chown -R node /usr/src/app USER node CMD ["npm", "start"]
dockerの設定ファイルを上手く調整する必要があるのではないかと思っているのですが、viteを使用していないときのdockerの設定ファイルを真似てみたところ、そもそもdocker起動時にエラーをはいてしまいました。
参考にできる文献を見つけることができず行き詰ってしまっています。
有識者の皆様のアドバイスを頂けますと幸いです。
補足情報(FW/ツールのバージョンなど)
"vue": "^3.2.41"
"vite": "^3"
"docker":"^20.10.17-rd"
docker環境は「Rancher Desktop」にて起動しております。
あなたの回答
tips
プレビュー