Задать вопрос
@admiralbub

Почему у меня не работает vite при запуске npm run dev в Docker compose?

Есть контейнер в котором развернуто приложение на Laravel 12, а также установлен сборщик vite.
При запуске команды npm run dev, файлы CSS и JS не компилируются. При попытке открыть приложение в браузере, я получаю 3 ошибки:

GET localhost:3000/@vite/client net::ERR_EMPTY_RESPONSE
GET localhost:3000/resources/js/app.js net::ERR_EMPTY_RESPONSE
GET localhost:3000/resources/css/app.css net::ERR_EMPTY_RESPONSE

Сервер с запущенной VITE не отвечает по адресу localhost:3000 .

Мой файл docker-compose.yaml
version: "3.8"
services:
  nginx:
    image: "nginx:stable-alpine"
    ports:
      - "8000:80"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
      - ./src:/var/www/crm
    depends_on:
      - mysql
      - php
    links:
      - node
  php:
    build:
      context: dockerfiles
      dockerfile: php.Dockerfile
    volumes:
      - ./src:/var/www/crm
  mysql:
    image: mysql:8.0
    volumes:
      - database:/var/lib/mysql
    ports:
      - "3316:3306"
    env_file:
      - env/mysql.env
    
  composer:
    build:
      context: dockerfiles
      dockerfile: composer.Dockerfile
    volumes:
     - ./src:/var/www/crm
  artisan:
    build:
      context: dockerfiles
      dockerfile: php.Dockerfile
    volumes:
      - ./src:/var/www/crm
    entrypoint: ["php", "/var/www/crm/artisan"]
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    env_file:
      - env/phpmyadmin.env
    restart: always
    ports:
      - 8001:80
  node:
    image: node:20-alpine
    ports:
        - "3000:3000"
    volumes:
        - ./src:/var/www/crm
    working_dir: /var/www/crm
    tty: true
volumes:
  database:


Мой файл vite.config.js

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import tailwindcss from '@tailwindcss/vite';
import vue from '@vitejs/plugin-vue';
export default defineConfig({
    server: {
        host: '0.0.0.0',
        port: 3000,
        hmr: {
            host: 'localhost'
        }
    },
    css: {
        preprocessorOptions: {
          scss: {
            silenceDeprecations: ["legacy-js-api"],
          },
        },
    },
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
        }),
        tailwindcss(),
        vue()
    ],
});
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы