Laravel не удалось загрузить скрипт модуля app.js

Я развертываю проект Laravel 10.x в производстве (использую только Blade, а не Mix). После успешного доступа к домену я получил следующую ошибку, и мой пользовательский интерфейс был сломан:

Не удалось загрузить сценарий модуля: ожидался сценарий модуля JavaScript, но сервер ответил MIME-типом «text/html». Строгий тип MIME проверка применяется для скриптов модулей согласно спецификации HTML.

Вот мой вывод терминала после запуска npm run dev.

  VITE v5.2.8  ready in 479 ms

  ➜  Local:   http://localhost:5173/
  ➜  Network: http://172.19.0.4.1:5173/
  ➜  press h + enter to show help

  LARAVEL v10.48.4  plugin v1.0.2

  ➜  APP_URL: https://my-domain.com

vite.config.js

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

export default defineConfig({
    plugins: [
        laravel({
            input: [
                'resources/css/app.css',
                'resources/scss/app.scss',
                'resources/js/app.js',
            ],
            refresh: true,
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
    server: {
        host: true,
        port: 5173,
    strictPort: true,
        origin: 'my-domain.com',
        cors: { origin: "*" },

        hmr: {
            host: ‘my-domain.com',
        },
        watch: {
            usePolling: true,
            ignored: ['**/vendor/**'],
        },
    },
});

docker-compose.yml

services:
  app:
    container_name: app
    build: docker/php
    volumes:
      - .:/var/www
    ports:
      - 8000:8000
  nginx:
    image: nginx
    container_name: nginx
    ports:
      - 80:80
    volumes:
      - .:/var/www
      - docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
    working_dir: /var/www
    depends_on:
      - app
  db:
    image: mysql:8
    container_name: db
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    volumes:
      - docker/mysql/default.cnf:/etc/mysql/conf.d/default.cnf
    ports:
      - 3306:3306

  npm:
    image: node:alpine
    container_name: node
    restart: unless-stopped
    tty: true
    volumes:
      - ./:/var/www
    ports:
      - "5173:5173”

Я много раз пытался редактировать vite.config.js, но все равно безуспешно.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
128
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я починил это.

Причина в том, что мой nodejs работает с использованием Docker, поэтому, когда я запускаю npm run build/dev, моя общедоступная/сборочная или общедоступная/горячая папка имеет разрешение на владение пользователем докера.

-> мне нужно сменить владельца

chown -R $USER:$USER public/

Другие вопросы по теме