Vite SSR 构建失败,并显示 MUI 图标和日期时间选择器

问题描述 投票:0回答:1

我有默认的 VITE ssr 游乐场以及额外的 MUI 包github

从日期时间选择器导入任何 MUI 图标和适配器后,一切都在开发模式下正常工作。 但构建后,服务器因错误而停止: 如果使用日期时间选择器:

file:///home/user/%D0%A0%D0%B0%D0%B1%D0%BE%D1%87%D0%B8%D0%B9%20%D1%81%D1%82%D0%BE%D0%BB/Study/traines/mui_vite/dist/server/entry-server.js:4
import { AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs/index.js";
         ^^^^^^^^^^^^
SyntaxError: Named export 'AdapterDayjs' not found. The requested module '@mui/x-date-pickers/AdapterDayjs/index.js' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from '@mui/x-date-pickers/AdapterDayjs/index.js';
const { AdapterDayjs} = pkg;

按照这个建议,我收到:

export { AdapterDayjs } from './AdapterDayjs';
^^^^^^

SyntaxError: Unexpected token 'export'
    at Object.compileFunction (node:vm:352:18)

所以,我在 x-date-picker 中发现了额外的软件包。 在导入时添加

/node
后,它可以工作
import { AdapterDayjs} from "@mui/x-date-pickers/node/AdapterDayjs/index.js";

如果有 MUI 图标,我明白

Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
    at Ib (/home/user/Рабочий стол/Study/traines/mui_vite/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js:72:155)
    at W (/home/user/Рабочий стол/Study/traines/mui_vite/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js:73:89)
    at Jb (/home/user/Рабочий стол/Study/traines/mui_vite/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js:76:98)
    at Ib (/home/user/Рабочий стол/Study/traines/mui_vite/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js:68:145)
    at W (/home/user/Рабочий стол/Study/traines/mui_vite/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js:73:89)
    at Ib (/home/user/Рабочий стол/Study/traines/mui_vite/node_modules/react-dom/cjs/react-dom-server-legacy.node.production.min.js:68:479)

我花了一周的时间才找出这个组件的问题。 我在 github 和不和谐服务器上都没有发现任何相关问题。 这个问题似乎存在于模块解析捆绑逻辑的某个地方,但我不知道如何解决它

material-ui node-modules vite server-side-rendering mui-x-date-picker
1个回答
0
投票

您的导入似乎不正确 -

import { AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs/index.js"; 

应该是

import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'

© www.soinside.com 2019 - 2024. All rights reserved.