# 一个monorepo风格的脚手架 **Repository Path**: rice-and-motion/a-monorepo-style-scaffold ## Basic Information - **Project Name**: 一个monorepo风格的脚手架 - **Description**: 一个monorepo风格的脚手架 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-05-09 - **Last Updated**: 2025-01-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### gzlw-test 脚手架 --- - 运行: mortal\examples\app> pnpm gzlw-test create -n orderPage - 安装包: pnpm add ora@5.4.1 --F gzlw-test - 发布到 npm: 在 packages\mortal-cli 执行 pnpm publish --F gzlw-test - 安装脚手架: pnpm add gzlw-test -D - 修改文件夹名后要把 node_module 包删了重装 --- ### 整体流程: 1. 利用 axios+gitlab 提供的 api,获取仓库,分支等信息 2. 通过 inquirer 命令行交互工具将仓库,分支渲染出来,获取到 answers 3. 根据 answers 信息,通过 download-git-repo 命令行下载工具下载 gitlab 上的代码 该方法不支持 promise,可以通过 node 提供的 util 模块中的 promisfy 转换成支持 promise 的方法 4. 解析文件路径,通过 process.cwd()和 path,将 answers 中的 name 解析为一个绝对路径,将下载下来的代码放入该路径下 ## # 版本 | 工具 | 版本 | 解释 | | -------------------------------------------------------------------------------------------- | -------- | ----------------------- | | [node](https://nodejs.org/) | ^18.15.0 | | | [pnpm] | 9.0.6 | 包管理工具 | | [chalk](https://github.com/chalk/chalk#readme) | 4.0.0 | 命令行美化工具 | | [commander](https://github.com/tj/commander.js#readme) | ^12.0.0 | 命令行指令配置 | | [copy-dir](https://github.com/pillys/copy-dir) | ^1.3.0 | 文件操作工具 | | [figlet](https://github.com/patorjk/figlet.js#readme) | ^1.7.0 | 生成基于 ASCII 的艺术字 | | [inquirer](https://github.com/SBoudrias/Inquirer.js/blob/master/packages/inquirer/README.md) | 8.2.5 | 命令行交互工具 | | [mustache](https://github.com/janl/mustache.js) | ^4.2.0 | 动态生成对应的模板文件 | | [ora](https://github.com/sindresorhus/ora#readme) | 5.4.1 | 安装包时的加载动画 | | [yargs](https://yargs.js.org/) | ^17.7.2 | 解析命令参数工具 | | [axios](https://axios-http.com/) | ^1.6.8 | 发送网络请求 | | [download-git-repo](https://gitlab.com/flippidippi/download-git-repo#readme) | ^3.0.2 | 命令行下载工具 |