📜  init nx monorepo (1)

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

初始化一个NX Monorepo

如果你是一个Web应用程序员,你可能会在每个项目中都会用到多个库。常常会面临在不同的项目中管理这些库的需要。 每个库都需要自己的依赖包,测试框架,CI/CD 流程,并且还需要独立的升级版本号和发布过程。

为解决这个问题,NX Monorepo横空出世。使用NX Monorepo,您可以将多个库拆分为更小的模块,并在其中一个存储库中进行 统一的集成管理和版本升级。本文将介绍如何使用NX Monorepo来初始化自己的Monorepo。

安装NX

在开始之前,您需要将NX CLI安装到全局位置:

npm install -g nx

或者

yarn global add nx
初始化一个Monorepo

我们将使用create-nx-workspace脚手架来初始化一个新的Monorepo。

npx create-nx-workspace

您可以根据需要选择在集成开发环境中使用的插件/库,或者仅创建一个基本的Monorepo。这里我们选择仅创建一个基本的NX工作区。

此时,我们的Monorepo目录结构将如下所示:

my-nx-repo/
    .gitignore
    README.md
    nx.json
    package.json
    projects/
    libs/
    tools/
  • .gitignore:以确保敏感信息不会被Git提交。
  • README.md:一个简单的介绍文件,其中包含基本信息。
  • nx.json:NX工作区的配置文件。
  • package.json:NX项目的根级别package.json 文件。
  • projects/:这个文件夹中存储所有项目。
  • libs/:这个文件夹中存储所有的库。
  • tools/:这个文件夹中存储了工具。

为了确保创建的Monorepo是完全可用的,我们需要运行以下两个命令:

nx list
> nx list

  Usage: nx [options] [command]

  Options:

    -v, --version                output the version number
    -h, --help                   output usage information

  Commands:

    workspace-info [project]     List info about the current workspace or a given project
    list                         List the available commands
    generate [generator] [name]  Generate code
    run [project] [target]       Run target(s) for a project
    build [project] [target]     Build target(s) for a project
    test [project] [target]      Test target(s) for a project
    e2e [project] [target]       Run e2e target(s) for a project

nx --version
> nx --version

6.1.1

恭喜您已经完成了Monorepo的初始化。