Я столкнулся с ошибкой ERR_UNSUPPORTED_DIR_IMPORT во время рендеринга на стороне сервера (SSR) с помощью Vite, React, MUI (Material UI) и Inertia.js. Конкретное сообщение об ошибке:
Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/var/www/html/myproject/node_modules/@mui/material/utils' is not supported resolving ES modules imported from /var/www/html/myproject/node_modules/@mui/icons-material/esm/utils/createSvgIcon.js
Did you mean to import "@mui/material/node/utils/index.js"?
Эта ошибка возникает только во время процесса SSR (
php artisan inertia:start-ssr). Сборка на стороне клиента работает нормально.
[b]Контекст проблемы:[/b]
Я использую следующие технологии:
[list]
[*][b]Laravel:[/b] 11.38.2
[*][b]Inertia.js:[/b] 2.0.0
[*][b]Реакция:[/b] 19.0.0
[*][b]MUI (Material UI):[/b] 6.4.0
[*][b]Vite:[/b] 6.0.7
[*][b]Node.js:[/b] 22.13.0
[*][b]npm:[/b] 10.9. 2
[/list]
[b]Что я пробовал:[/b]
[list]
[*][b]Исправленный config/inertia.php:[/b] Я убедился, что путь пакета
в моем файле config/inertia.php правильно указывает на пакет SSR, созданный Vite (который теперь находится в bootstrap/ssr/ssr .js):
Конфигурация:[/b] я добавил соответствующие пакеты MUI, лексические пакеты, пакеты реагирования и @inertiajs/server в массив ssr.noExternal в моем vite.config.js :
[*]Чистая установка: Я попробовал удалить node_modules, package-lock.json, очистив кеш npm и переустановив зависимости.
[*]Обновленный MUI: Я обновил MUI до последняя версия.
[*]Исправлен импорт в ssr.jsx: я проверил импорт в файле ssr.jsx.
[*]проверенные выходные данные конфигурации vite и выходные данные ssr: я проверил выходные данные конфигурации vite и выходной каталог ssr.
< /li>
[/list] Соответствующие фрагменты кода:
Я столкнулся с ошибкой ERR_UNSUPPORTED_DIR_IMPORT во время рендеринга на стороне сервера (SSR) с помощью Vite, React, MUI (Material UI) и Inertia.js. Конкретное сообщение об ошибке: [code]Error [ERR_UNSUPPORTED_DIR_IMPORT]: Directory import '/var/www/html/myproject/node_modules/@mui/material/utils' is not supported resolving ES modules imported from /var/www/html/myproject/node_modules/@mui/icons-material/esm/utils/createSvgIcon.js Did you mean to import "@mui/material/node/utils/index.js"? [/code] Эта ошибка возникает только во время процесса SSR ([code]php artisan inertia:start-ssr). Сборка на стороне клиента работает нормально. [b]Контекст проблемы:[/b] Я использую следующие технологии: [list] [*][b]Laravel:[/b] 11.38.2 [*][b]Inertia.js:[/b] 2.0.0 [*][b]Реакция:[/b] 19.0.0 [*][b]MUI (Material UI):[/b] 6.4.0 [*][b]Vite:[/b] 6.0.7 [*][b]Node.js:[/b] 22.13.0 [*][b]npm:[/b] 10.9. 2 [/list] [b]Что я пробовал:[/b] [list] [*][b]Исправленный config/inertia.php:[/b] Я убедился, что путь пакета[/code] в моем файле config/inertia.php правильно указывает на пакет SSR, созданный Vite (который теперь находится в bootstrap/ssr/ssr .js): [code]'bundle' => base_path('bootstrap/ssr/ssr.js'), [/code]
[*][b][code]noExternal[/code] Конфигурация:[/b] я добавил соответствующие пакеты MUI, лексические пакеты, пакеты реагирования и @inertiajs/server в массив ssr.noExternal в моем vite.config.js : [code]ssr: { noExternal: [ '@inertiajs/server', '@mui/material', '@mui/utils', '@mui/system', '@mui/styled-engine', '@emotion/react', '@emotion/styled', '@lexical/code', '@lexical/react', 'lexical', 'react-dom/server', 'react' ], }, [/code]
[*][b]Чистая установка:[/b] Я попробовал удалить node_modules, package-lock.json, очистив кеш npm и переустановив зависимости.
[*][b]Обновленный MUI:[/b] Я обновил MUI до последняя версия.
[*][b]Исправлен импорт в ssr.jsx[/b]: я проверил импорт в файле ssr.jsx.
[*][b]проверенные выходные данные конфигурации vite и выходные данные ssr[/b]: я проверил выходные данные конфигурации vite и выходной каталог ssr. < /li> [/list] [b]Соответствующие фрагменты кода:[/b] [list] [b][code]vite.config.js[/code]:[/b] [code]import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import react from '@vitejs/plugin-react';
Я пытаюсь развернуть приложение Laravel, используя Inertia.js с рендерингом на стороне сервера (SSR). Однако при переходе между ссылками возникает следующая ошибка:
All Inertia requests must receive a valid Inertia response, however a plain JSON...
Я пытаюсь развернуть приложение Laravel, используя Inertia.js с рендерингом на стороне сервера (SSR). Однако при переходе между ссылками возникает следующая ошибка:
All Inertia requests must receive a valid Inertia response, however a plain JSON...
Я пытаюсь развернуть приложение Laravel, используя Inertia.js с рендерингом на стороне сервера (SSR). Однако при переходе между ссылками возникает следующая ошибка:
All Inertia requests must receive a valid Inertia response, however a plain JSON...
Я пытаюсь развернуть приложение Laravel, используя Inertia.js с рендерингом на стороне сервера (SSR). Однако при переходе между ссылками возникает следующая ошибка:
All Inertia requests must receive a valid Inertia response, however a plain JSON...
У меня есть проект, в котором есть файл python(.py) внутри каталога, скажем A, в папке A у меня есть файл с кодом:
from utils.utils import csv_file_transform
где utils — это родственный каталог для A
/A
file.py