我创建了许多React组件,这些组件包装了Material-UI组件并打包为NPM模块。
通过远程软件包npm install *name-of-package*
或通过本地安装npm install ../*name-of-package*
安装时,该模块可以正常工作。
但是,对于模块开发,我想使用npm link
,以便可以在模块和站点目录中使用webpack --watch
/ webpack-dev-server
等。
为此,我正在运行npm link
在模块目录中创建符号链接,然后在站点目录中创建npm link *name-of-package*
。 Webpack会按预期启动,但是我在浏览器中始终遇到与MUI的withStyles
函数相关的错误:
Uncaught TypeError: Cannot read property '@global' of undefined
指的是var rules = style[propKey];
的{{1}}行。
其他诸如:function handleNestedGlobalContainerRule(rule)
从类似的帖子中我可以看出,这是在抱怨缺少The above error occurred in the <WithStyles(Typography)> component
对象(该站点有一个声明主题对象的theme
)。
任何人都可以建议为什么这可能适用于MuiThemeProvider
而不是npm install
吗?我似乎无法弄清楚这一点。
答案 0 :(得分:0)
在检查了各种提交并阅读了@AstenMies的参考之后,我似乎已经解决了这个问题。或者至少我再也无法重现这个问题。
我不完全确定哪个确切的更改可以解决问题,但是如果有其他人发现自己在这种情况下,我将列出我所做的事情:
theme
对象中的属性未定义(尽管这并不能解决我的问题)yarn add
和npm install
的命令-混用程序包管理器可能导致不一致的情况node_modules
文件夹并重新安装。您也可以在npm cache clean
这里避免任何缓存的鼻音