Nrwl Nx:不同的版本号和库

问题描述 投票:1回答:3

我想使用Nrwl Nx(一个项目中的多个应用程序; https://nrwl.io/nx)启动一个Angular项目,但我有两个问题:

  1. 如何为不同的应用指定不同的版本号?通常我在package.json中给出一个版本号,但是对于Nx,我的所有应用程序只有一个package.json。我应该把它放在环境文件中吗?或者在.angular-cli.json文件中?
  2. 我读到这个:'升级到lib需要更改所有实现者。是否有任何解决方案(绕过)在不同的应用程序中使用不同版本的lib或NPM包?只有一个node_modules,但这对我的应用程序至关重要。

如您所知,Nx项目的结构如下所示:

apps
    app1
    app2
libs
    lib1
    lib2
node_modules
package.json
.angular-cli.json
...

也许这两个问题有点基于意见(我对此不太确定),但很少有关于Nrwl Nx的文章,答案也可以帮助其他人。谢谢。

angular angular-cli nrwl
3个回答
2
投票

从技术上讲,不可能在NX工作区中为不同的应用程序指定不同的版本号,因为NX工作区基于monorepo(这是领先的IT公司使用的技术,如谷歌,Facebook等)。

是的,您可以通过重构NX工作区为不同的应用程序指定不同的版本号,但从技术上讲,它不会是monorepo NX工作区。


0
投票

Nx使用MonoRepo方法,因此您的应用程序和库都将是相同的版本。 https://nrwl.io/nx/why-a-workspace


0
投票

正如JBecton已经回复的那样,“Nx方式”是有一个package.json。

在您的情况下,您需要将您的应用版本与mono-repo版本相关联。

角度生成环境* .ts文件是执行此操作的正确位置。

© www.soinside.com 2019 - 2024. All rights reserved.