NX Angular 多个库同名

NX Angular multiple libs with the same name

所以我在 NX 中使用 Angular,我有以下组 bookscars。对于这两个组,我想创建一个 overview 带有 table 的库来查看书籍或汽车。

所以我在 libs/books/overview 下创建了库,接下来我想对汽车 libs/cars/overview 做同样的事情。但是后来我 运行 进入了这个问题:

Error: Project name already exists.

我需要像 books-overview 那样命名库吗?然后我将创建以下库:libs/books/books-overviewbooks 是多余的,所以它似乎不是最佳选择。

我认为这里最好的选择是创建一个文件夹 overviews,其中包含库。例如:

libs/overviews/cars

libs/overviews/books

文件夹名称不必与应用程序相同。相反,您可以为库名称的每个破折号分隔部分创建父文件夹。

您可以在文件夹 books/overview 中创建名为 'books-overview' 的库。


运行 以文件夹结构为名称的命令,它正确地决定了名称。 运行

npx ng generate @nrwl/workspace:library --name=books/overview

将在文件夹 books/overview 中生成库 'books-overview'


例如这是我们应用程序的配置(我们也使用 nx):

// angular.json excerpt
"api-java-model": {
  "projectType": "library",
  "root": "libs/api/java/model",
...
},
"api-java-client": {
  "projectType": "library",
  "root": "libs/api/java/client",
...

这样就不会发生文件夹冲突。