我正在创建一个npm包,该包本质上是其他项目的模板。它包含一些我在几乎每个项目中使用的自定义组件,功能,配置和其他类似文件。
与其让我所有的单个项目列出完全相同的依赖项(所有相同的版本),不如将所有常见的依赖项简单地包含在单个npm包中会容易得多。这样,每个项目只需要安装和更新一个单独的程序包(以及可能会安装的,该项目独有的任何其他程序包),而不必为每个项目安装和更新每个单独的公共依赖项。
这意味着:
npm outdated
将显示更新可用。但是,如果新版本不兼容,那么我就不想更新它们。如果我以这种新方式提出建议,那么只有在我知道它们相互兼容时(即,只有当我的自定义模板包中有可用的更新时),公共依赖才会被更新。我听说这是不好的做法,但我不明白为什么在这种情况下会如此。我在这里看不到什么缺点?当我使用no-extraneous-dependencies规则执行此操作时,eslint-plugin-import会抱怨,但是我可以轻松地创建一个异常。不执行此操作只是标准的最佳实践,因此每个项目都是完全独立的(这对我来说不是问题),还是有其他重要原因不执行此操作?