我有默认的 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 和不和谐服务器上都没有发现任何相关问题。 这个问题似乎存在于模块解析捆绑逻辑的某个地方,但我不知道如何解决它
您的导入似乎不正确 -
import { AdapterDayjs} from "@mui/x-date-pickers/AdapterDayjs/index.js";
应该是
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'