📜  nx generate lib (1)

📅  最后修改于: 2023-12-03 15:03:20.142000             🧑  作者: Mango

介绍 nx generate lib 命令

nx generate lib 命令是 Angular CLI 的一个扩展,它允许我们创建可重用的库,供多个 Angular 应用程序使用。 在这篇文章中,我们将了解这个命令的用法、参数和常见场景。

命令

为了使用这个命令,我们需要在命令行下运行下列代码:

nx generate lib <library-name> [options]

其中,<library-name> 是必须的参数,它表示将要创建的库的名称。此外,nx generate lib 命令还有很多可选参数,下面会一一介绍。

可选参数
prefix

prefix 是一个可选参数,它表示生成的库的前缀。这个前缀将会被添加到除文件夹名称外的所有名称中。默认值是"lib"。

示例:

nx generate lib my-library --prefix=ml
tags

tags 是一个可选参数,它表示生成的库的标记。标记可以帮助我们组织和过滤我们的库。通过使用逗号分隔的字符串列表指定标记。

示例:

nx generate lib my-library --tags="ui,components"
style

style 是一个可选参数,它指定了在创建库时要使用的 CSS 预处理器。可用的选项有:css、scss、less 和 styl。

示例:

nx generate lib my-library --style=scss
publishable

publishable 是一个可选参数,它表示生成的库是否可以被上传到包管理器(如 npm)中。默认值是 false。

示例:

nx generate lib my-library --publishable=true
常见场景

下面列举了几个常见的场景,图文并茂,帮助我们更好地理解 nx generate lib 命令的用法。

创建普通库

在创建一个可重用的库之前,我们需要在所在目录下执行以下命令安装 @nrwl/angular

npm install -g @nrwl/angular

接着,我们可以像下面这样创建一个名为 my-library 的普通库:

nx generate lib my-library

执行完上述命令后,我们可以看到 libs 文件夹下新建了一个 my-library 的目录,该目录中包含了所需的文件和文件夹:

libs/
└── my-library
     ├── README.md
     ├── jest.config.js
     ├── tsconfig.json
     ├── tsconfig.lib.json
     ├── src/
     │   ├── index.ts
     │   ├── lib/
     │   └── demo/
     ├── .gitignore
     ├── package.json
     └── nx.json
创建 publishable 库

如果想将一个库作为独立的 npm 包发布到包管理器上,我们可以通过 --publishable 参数来创建一个可发布的库。例如,我们可以这样创建一个可发布的库:

nx generate lib my-publishable-library --publishable=true

执行完上述命令后,我们可以看到 libs 文件夹下新建了一个 my-publishable-library 的目录,该目录中除了普通库的内容外,还包含了一些其他的文件和文件夹:

libs/
└── my-publishable-library
     ├── README.md
     ├── jest.config.js
     ├── tsconfig.json
     ├── tsconfig.lib.json
     ├── src/
     │   ├── index.ts
     │   ├── lib/
     │   └── demo/
     ├── .gitignore
     ├── package.json
     ├── nx.json
     ├── README.md
     ├── LICENSE
     └── README.md

我们可以在独立的 Git 仓库中发布这个库。

添加一个组件到库中

如果希望往已经存在的库中添加一个组件,可以通过 nx generate 命令来完成。例如:

nx generate component my-component --project=my-library

该命令会在 my-library 中创建一个名为 my-component 的组件。

结论

nx generate lib 命令是 nx 工具链的一部分,它可以帮助我们轻松地创建可重用的库。在此过程中,我们可以使用许多可选参数,例如 prefix、tags、style 和 publishable。 通过使用这个命令,我们可以快速地创建一个包含所需文件和文件夹的初始库,并通过生成器向库中添加组件和其他功能。