在项目中有多个package.json可以吗?

use*_*943 7 .net javascript visual-studio npm jasmine

在项目中有多个package.json可以吗?我正在使用.NET MVC解决方案,它在根级别有一个package.json.我需要将Jasmine/Karma集成到解决方案中,这是我第一次进行这种集成.我在网上找到了Jasmine/Karma的示例项目,我能够在本地运行.这个项目有自己的package.json.

似乎将示例Jasmine/Karma示例项目的package.json文件与解决方案的根级别的package.json分开维护是有用的,以提供更大的灵活性并允许基于不同的方式使用相同的属性在背景上.

这是有效的还是通常被认为是一种好的做法?或者我是否需要弄清楚如何将示例项目中package.json的内容合并到.NET MVC解决方案根级别的package.json中?

jpu*_*k11 9

在保持简单方面,只需要维护一个package.json文件更容易,但是package.json在一个 repo 中使用多个文件并没有本质上的错误。一些公司确实使用单一存储库,因此拥有多个package.json文件是完全有意义的。

多个package.json文件为您提供了很大的灵活性来运行不同/不兼容版本的依赖项。作为一个实际示例,在我参与的其中一个项目中,我们有 2 个package.json文件,一个用于主应用程序代码,另一个用于我们的 BDD 测试。我们将 chimp 用于我们的 BDD 测试,并且在最新的节点版本上运行它时遇到了问题,而我们不想仅仅因为这个而阻止应用程序的其余部分升级。我们还发现,单个package.json文件在最初合并时变得非常混乱。


Sur*_*eal 5

我要说,拥有多个package.json通常是一种不好的做法。我只希望只需要一次npm安装,而不得不处理两组依赖管理可能会导致问题。

  • 现在,具有多个“package.json”的项目很常见,尤其是当它们位于单一存储库中时,例如 Express 和 Angular(带有 SSR)或 React。这是一个典型的 Heroku 设置,包含三个 `package.json` 文件 https://medium.com/inato/how-to-setup-heroku-with-yarn-workspaces-d8eac0db0256 (4认同)
  • 那是两年多前的事了……现在我想说,在项目中拥有许多 package.json 文件是一个很好的做法。我认为 monorepo 方法效果很好:-) 您可以使用 lerna 来管理单个存储库中的多个包。 (3认同)