Код: Выделить всё
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"?
Код: Выделить всё
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] Я убедился, что путь пакетаКод: Выделить всё
'bundle' => base_path('bootstrap/ssr/ssr.js'),
Код: Выделить всё
noExternalКод: Выделить всё
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'
],
},
[*]Обновленный MUI: Я обновил MUI до последняя версия.
[*]Исправлен импорт в ssr.jsx: я проверил импорт в файле ssr.jsx.
[*]проверенные выходные данные конфигурации vite и выходные данные ssr: я проверил выходные данные конфигурации vite и выходной каталог ssr.
< /li>
[/list]
Соответствующие фрагменты кода:
- :[/b]
Код: Выделить всё
vite.config.jsКод: Выделить всё
import { defineConfig } from 'vite'; import laravel from 'laravel-vite-plugin'; import react from '@vitejs/plugin-react'; export default defineConfig({ plugins: [ laravel({ input: 'resources/js/app.jsx', ssr: 'resources/js/ssr.jsx', refresh: true, }), react(), ], build: { outDir: 'public/build', }, ssr: { build: { outDir: 'bootstrap/ssr', }, noExternal: [ '@inertiajs/server', '@mui/material', '@mui/material/utils', '@mui/utils', '@mui/system', '@mui/styled-engine', '@mui/icons-material', '@emotion/react', '@emotion/styled', '@lexical/code', '@lexical/react', 'lexical', 'react-dom/server', 'react' ], }, resolve: { alias: { '@': '/resources/js', '@css': '/resources/css', '@shared': '/resources/js/Shared', '@utils': '/resources/js/utils', } }, }); - :[/b]
Код: Выделить всё
config/inertia.phpКод: Выделить всё
Подробнее здесь: [url]https://stackoverflow.com/questions/79366266/node-js-vite-ssr-err-unsupported-dir-import-with-mui-material-utils-during-ine[/url]