Nrwl Nx 和 monorepo - 处理特定应用程序的 package.json

die*_*ola 6 frontend monorepo nrwl-nx

对于前端架构,我正在评估 monorepo 与 Nrwl Nx 的使用。
我从文档中了解到,Nx 强烈建议对依赖项使用单一策略(根 package.json 包含应用程序和库使用的所有依赖项)。

今天的目标是找出是否有某种解决方案可以出于某种原因为特定应用程序使用不同的依赖版本(也称为 monorepo 中的多个 package.json)。

我试图分析的场景如下:

根 package.json 包含
somelib@1.2.2

这意味着每个应用程序都将使用 1.2.2 版本。一切都工作正常,直到 cursedApp 需要使用 somelib@1.1.9 的那一天。

这有什么解决办法吗?我阅读了文档,不鼓励这种模式,我发现的唯一建议是从 monorepo 中删除cursedApp。

谢谢!D

小智 3

https://nx.dev/packages/node/executors/webpack#generatepackagejson 它说:​​-

生成一个 package.json 文件,其中填充了项目的 node_module 依赖项,以便安装在容器中。如果项目目录中存在 package.json,它将被重用并填充依赖项。