2

这个问题主要基于react-admin,因此是标签,但它可能在其他情况下也很有用。

所以我们有react-admin哪个取决于@material-ui/core. 这允许我在自己的代码中使用 Material UI,同时实现 UI,而不依赖于@material-ui/core我自己。但是,我不能做的是使用来自 IDE(VSCode / Emacs + LSP)的任何帮助,例如我不能从@material-ui/core.

我认为这种行为是正确且符合预期的,因为@material-ui/core它不是我的项目的依赖项。但是,我仍然可以使用这种依赖,所以我希望我的工具知道这一点。将其添加为我自己的依赖项相当难看,因为我必须保持版本与react-admin's 同步,这可能很麻烦,并且有点破坏了依赖项管理的全部意义。我尝试添加@material-ui/core我的 peerDependencies,这似乎有点倒退,但令人惊讶的是,它对 VSCode 和 LSP 都有效。

所以问题是:在不向我的项目中添加一堆不需要的依赖项的情况下,重用子依赖项的正确方法是什么?

4

1 回答 1

1

从应用程序的角度来看,通常,如果您想使用,@material-ui/core那么您应该将其放入您的依赖项中。不知道你为什么认为它“丑陋”

应用程序不应该有 peerDeps。peerDeps 旨在供插件/库使用。

于 2021-09-06T03:03:43.377 回答