我创建了一个共享组件存储库,其中包含包装的 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?谢谢!
| 归档时间: |
|
| 查看次数: |
317 次 |
| 最近记录: |