Javascript 为什么使用另一个依赖项的依赖项是一种糟糕的做法?

Javascript 为什么使用另一个依赖项的依赖项是一种糟糕的做法?,javascript,npm,Javascript,Npm,正如各州公认的答案,标准做法是从子依赖项安装软件包,这些软件包应再次在应用程序中使用,而不是从dependencies node_modules文件夹中使用 我的情况有点不同。我们有三个项目共享相同的前端“核心”。为了保持依赖项同步,我们只在我们的核心中安装像slick slider和node sass这样的依赖项,并从我们的项目中访问它们,在我们的项目中,我们将核心作为npm依赖项安装 除了不直接在project package.json中查看依赖项列表之外,还有什么缺点吗?如果您控制“核心”

正如各州公认的答案,标准做法是从子依赖项安装软件包,这些软件包应再次在应用程序中使用,而不是从dependencies node_modules文件夹中使用

我的情况有点不同。我们有三个项目共享相同的前端“核心”。为了保持依赖项同步,我们只在我们的核心中安装像slick slider和node sass这样的依赖项,并从我们的项目中访问它们,在我们的项目中,我们将核心作为npm依赖项安装


除了不直接在project package.json中查看依赖项列表之外,还有什么缺点吗?

如果您控制“核心”,那么我会说这不是一个太大的问题。但是,如果您不拥有该包,它可能会导致问题,因为它可能会随时更改其依赖项并破坏您的代码。

显然,如果您不使用该核心,而是使用另一个核心,您必须确保新核心包含相同的依赖项。我同意Jim的观点。我想说的是,如果您控制“核心”,那么使用该核心项目的模块来确保您自己的两个项目之间的兼容性实际上是一种可靠的依赖关系管理策略。