使用 npm 链接时 Material-UI 不工作

Mar*_*ode 5 npm material-ui

我创建了一个共享组件存储库,其中包含包装的 Material-UI 组件并打包为 NPM 模块。

通过远程包安装时,该模块工作正常:npm install *name-of-package*但是当我npm link可以在本地开发时,它会崩溃,说我定义的主题变量未定义。

这是我的主要存储库的代码:

import { ThemeProvider } from '@mui/material';
import { theme, Button } from 'my-shared-components'; // npm-link'd repo

...

<ThemeProvider theme={theme}>
  <Button>Click</Button>.       // crash occurs here saying a theme color is undefined
</ThemeProvider>
Run Code Online (Sandbox Code Playgroud)

包.json

dependencies: {
    "@mui/material": "^5.0.0-rc.0",
    "@mui/styled-engine": "npm:@mui/styled-engine-sc@next",
    "@mui/styled-engine-sc": "^5.0.0-rc.0",
    ...
}
Run Code Online (Sandbox Code Playgroud)

共享组件存储库代码:

import { createTheme } from '@mui/material/styles';

...

export default createTheme(themeObj);
Run Code Online (Sandbox Code Playgroud)

包.json

"peerDependencies": {
  "@mui/material": "^5.0.0-rc.0",
  "@mui/styled-engine-sc": "^5.0.0-rc.0",
  "@mui/styled-engine": "npm:@mui/styled-engine-sc@next",
  ...
}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么当我这样做时这会起作用,npm install但当我这样做时却不起作用npm link?谢谢!