我有一个 NPM 包,它提供两种东西:React Hook 形式的核心功能和使用这些核心功能的 UI 组件。
我最初的想法是制作两个包,一个用于核心内容,一个用于组件。因此,如果您不想使用开箱即用的组件,您仍然可以使用库的核心功能。在处理库后,我发现制作两个包有点过分,因为核心功能基本上是 2 个 Hook,代码不到 200 行。
所以我采用了将 UI 组件依赖项添加为对等依赖项的方法,并期望当我将它们标记为可选时,如果不需要 UI 部件则不需要安装它们。将它们标记为可选我的意思是:
"peerDependenciesMeta": {
"@material-ui/core": {
"optional": true
},
}
现在的问题是,即使我没有将 UI 部分从我的库导入到我设置的测试项目中,应用程序也会中断,因为它正在尝试寻找可选的依赖项。
我的问题:
希望有人能为我照亮黑暗。
最佳答案
似乎唯一真正的解决方案是真正将核心功能从 UI 部分中分离出来。否则,总会安装用户可能不想要的依赖项。
https://stackoverflow.com/questions/68452138/
相关文章:
android-studio - 在 Play Store Console 中更改草稿应用程序的应用
javascript - 在开始下一个功能之前等待一个功能完成
python - Pycharm调试Django项目(Dev分支)的问题
javascript - JS CSS HTML - 创建一个独立于文本数量而保持相同宽度的按钮
python - 在 Python 中序列化/反序列化类对象的最佳方法是什么?
c++ - std::reference_wrapper
postgresql - psql:致命:用户 ""aws rds Postgresql 的 PAM