1

我是一个相对较新的 Angular 开发人员,希望构建一组共享自定义组件库(可能还有其他一些实用程序/接口)的 Angular 应用程序。

Nrwl 的 Nx看起来是一个很好的系统来组织这些片段,所以我想我将使用它来构建。

但是,我有一个理想的规范,从我的搜索中看起来,Nx 并不真正支持:版本库的能力,这样一个应用程序可以引入 1.0 版,而另一个可以引入同一组件的 2.0 版以图书馆为例。

这样,我可以更改应用程序 2 的下拉组件,而不会影响应用程序 1,因为应用程序 2 将只指向新库,而应用程序 1 指向旧库。

有没有人知道在 Nx 中执行此操作的好方法(或解决此问题的好资源;或找到这些资源的好搜索词)?无法在这里找到指导,或者弄清楚这是否可行,正如我所想的那样。

显然有一些更hacker的方法可以做到这一点:

  • 具有重复的“版本化”组件(Dropdown1、Dropdown2)
  • 对组件库 ( import @cl2/Dropdown)执行相同操作

但从各种角度来看,这些解决方案并不理想,包括应用程序开发人员需要知道每个组件的最新版本、丑陋的组件名称、臃肿的代码库等。

4

1 回答 1

3

NX 和 monorepo 方法的全部意义在于一切都应该运行“主”版本。

通过对所有内容进行测试并从同一个 repo 运行所有内容,您可以确保您的整个代码库保持干净和最新。

如果你不想这样做,你可以简单地将你的组件库作为一个单独的 repo 并将它们发布到 npm,然后使用 npm 将它们拉入你的不同应用程序中。

于 2020-03-26T20:04:30.697 回答