📅  最后修改于: 2023-12-03 15:01:24.568000             🧑  作者: Mango
如果你是一个Web应用程序员,你可能会在每个项目中都会用到多个库。常常会面临在不同的项目中管理这些库的需要。 每个库都需要自己的依赖包,测试框架,CI/CD 流程,并且还需要独立的升级版本号和发布过程。
为解决这个问题,NX Monorepo横空出世。使用NX Monorepo,您可以将多个库拆分为更小的模块,并在其中一个存储库中进行 统一的集成管理和版本升级。本文将介绍如何使用NX Monorepo来初始化自己的Monorepo。
在开始之前,您需要将NX CLI安装到全局位置:
npm install -g nx
或者
yarn global add nx
我们将使用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的初始化。