# mst-cli-dev **Repository Path**: dancinglove/mst-cli-dev ## Basic Information - **Project Name**: mst-cli-dev - **Description**: cli test - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-06 - **Last Updated**: 2022-02-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 使用lerna创建一个 脚手架cli项目 ``` // 项目初始化 npm init -y // 在开发环境安装lerna,使用yarn安装会新增一个yarn.lock文件 yarn add lerna -D // 全局安装一个lerna的好处是,可以让我们在全局使用到lerna,而不是从我们的node_modules中去查找 yarn add lerna -g // 初始化lerna项目,之后会生成lerna.json文件和一个packages文件 lerna init ``` lerna.json文件内容 ``` { "packages": [ "packages/*" ], "version": "1.0.0" } ``` 创建.gitignore文件 ``` node_modules .vscode .vs_code .idea # 去除 packages 里面的 所有的 node_modules packages/**/node_modules packages/**/package-lock.json ``` ##### lerna创建项目 先明确需要的几个项目 - core - utils ``` lerna create core 这个时候我们需要给我们的包名添加一个组织名 @mst-cli-dev 而这个组织名是需要在npm上面提前注册下来的 在npm中add orgabization然后添加成功后,左边的菜单 orgabizations 就会有这个组织了 这样做的目的是为了我们的包不会被重名 ``` ##### lerna add lerna add react -D lerna add react-dom packages/core -D lerna -h lerna add -h 帮助文档 lerna bootstrap 重写安装依赖 - lerna link 链接依赖 - 使用场景,比如我们在开发的时候想使用的是我们正在开发的某一个库,同级目录下的,也就是相互依赖的关系,那么就需要使用lerna link - 比如我们【core】模块需要使用本地的【utils】模块,那么我们只是需要在本地的【core】模块中引用我们的【utils】依赖,然后在命令行中执行npm link就会发现在我们的本地的core包的node_modules包中就会新增一个【utils】的包,就相当于把我们本地的包创建了一个软链link上了 在【core】项目中的package.json的依赖中添加【"@mst-cli-dev/utils": "1.0.0"】然后在根项目目录下中执行 lerna link这个时候你就会发现,node_modules中就会多了一个@mst-cli-dev的文件 ##### 部署 - 需要提交代码之后,在进行我们的代码 lerna version 在package.json中添加 publicConfig "publicConfig": { "access": "public" } ##### 使用lerna创建一个 脚手架cli项目 ``` // 项目初始化 npm init -y // 在开发环境安装lerna,使用yarn安装会新增一个yarn.lock文件 yarn add lerna -D // 全局安装一个lerna的好处是,可以让我们在全局使用到lerna,而不是从我们的node_modules中去查找 yarn add lerna -g // 初始化lerna项目,之后会生成lerna.json文件和一个packages文件 lerna init ``` lerna.json文件内容 ``` { "packages": [ "packages/*" ], "version": "1.0.0" } ``` 创建.gitignore文件 ``` node_modules .vscode .vs_code .idea # 去除 packages 里面的 所有的 node_modules packages/**/node_modules packages/**/package-lock.json ``` ##### lerna创建项目 先明确需要的几个项目 - core - utils ``` lerna create core 这个时候我们需要给我们的包名添加一个组织名 @mst-cli-dev 而这个组织名是需要在npm上面提前注册下来的 在npm中add orgabization然后添加成功后,左边的菜单 orgabizations 就会有这个组织了 这样做的目的是为了我们的包不会被重名 ``` ##### lerna add lerna add react -D lerna add react-dom packages/core -D lerna -h lerna add -h 帮助文档 lerna bootstrap 重写安装依赖 - lerna link 链接依赖 - 使用场景,比如我们在开发的时候想使用的是我们正在开发的某一个库,同级目录下的,也就是相互依赖的关系,那么就需要使用lerna link - 比如我们【core】模块需要使用本地的【utils】模块,那么我们只是需要在本地的【core】模块中引用我们的【utils】依赖,然后在命令行中执行npm link就会发现在我们的本地的core包的node_modules包中就会新增一个【utils】的包,就相当于把我们本地的包创建了一个软链link上了 在【core】项目中的package.json的依赖中添加【"@mst-cli-dev/utils": "1.0.0"】然后在根项目目录下中执行 lerna link这个时候你就会发现,node_modules中就会多了一个@mst-cli-dev的文件 ##### 部署 - 需要提交代码之后,在进行我们的代码 lerna version 在package.json中添加 publicConfig "publicConfig": { "access": "public" }