Не обновляются данные при сохранении vue docker

Рейтинг: 0Ответов: 1Опубликовано: 06.03.2023

Изменяю произвольный файл .вью, сохраняю, перезагружаю страницу на локалке и изменения не вступают в силу.

Dockerfile

FROM node:lts-alpine3.17 as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY ./ .
RUN npm run build

FROM nginx:stable-alpine
EXPOSE 3000
RUN mkdir /app
COPY /nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build-stage /app/dist /app
ENTRYPOINT ["nginx", "-g", "daemon off;"]

Кусок с контейнером вью из docker-compose.yml

  frontend:
    build: 
      context: ./frontend
      dockerfile: Dockerfile
    working_dir: /home/node/app
    volumes:
    - ./frontend:/home/node/app
    environment:
      NODE_ENV: development
    tty: true
    stdin_open: true
    container_name: jundevs_frontend
    networks:
      - app-network

vite.config.js (пусть будет)

import { fileURLToPath, URL } from 'node:url'

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  server: {
    port: 3000
  },
  plugins: [vue()],
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

Лично сам думаю, что косяк в Dockerfile в том что я копирую файлы из образа ноды в нгинкс и нгинск отдаёт их как статику (не силен во взаимодействии докер-образов и нгинкса, поэтому мог сморозить ересь), но как сделать правильно ума не приложу.

Возможно еще vite.config надо поправить, но информации по этому в сети не нашел.

Ответы

▲ 0

А с чего бы им обновляться? Vue автоматически применяет изменения только в режиме дебага (npm run serve), вы же используете режим прода (npm run build). В этом режиме vue не отслеживает изменения файлов и не применяет их