UNPKG

yunai-cli

Version:

一个多功能的自定义脚手架

87 lines (62 loc) 2.51 kB
## yunai-cli 一个多功能的自定义脚手架 ### 安装 npm install yunai-cli -g ### 使用说明 1)通过 yunai-cli create appName 创建项目 2)author? 输入项目作者 3)description? 输入项目描述 4)选择项目模块 reactPcDemo or xxx 5)安装选择的模板 ## 学习参考 ### npm init ### bin/www.js ```js #! usr/bin/env node // 标识用node来执行此文件 ``` - cli执行入口文件 - package.json 设置 bin 执行入口 ```json "bin": "./bin/www.js" ``` ### npm link 到全局 测试 yunai-cli 是否 link 成功 - 控制台输入 `yunai-cli` 测试连接是否成功 ### 安装脚手架所需依赖包 `npm install commander inquirer download-git-repo util ora fs-extra axios` | 工具名称 | 作用 | | ------ |------| | commander | 自定义命令工具 | | inquirer | 命令行交互工具 | | download-git-repo | 从git上下载项目模板工具 | | util | dowload-git-repo 不支持异步调用,需要使用util插件的util.promisify进行转换 | | ora | 命令行 loading 动效 | | fs-extra | 提供文件操作方法 | | axios | 发送接口,请求git上的模板列表 |- - ### commander 自定义命令行工具 这里用来创建create命令, 用户可以通过输入 yunai-cli create appName 来创建项目 ### inquire 命令行交互工具 这里用来询问用户的操作,让用户输入指定的信息,或给出对应的选项让用户选择 ### 此处 inquirer 的运用场景有2个 1. 场景1:当用户要创建的项目目录已存在时,提示用户是否要覆盖 or 取消 2. 场景2:让用户输入项目的 author 作者和项目 description 描述 ### 创建 create.js `bin/create.js` ### 创建 ask.js `bin/ask.js` - 配置 ask 选项,让用户输入作者和项目描述 ### 创建 generator.js 1. 通过接口获取 git 上的模板目录 2. 通过 inquirer 让用户选择需要下载的项目 3. 使用 download-git-repo 下载用户选择的项目模板 4. 将用户创建时, 将 项目名称、作者名字、描述 写入到项目模板的 package.json 文件中 ### 创建 http.js 用来发送接口, 获取 git 上的模板列表 `bin/http.js` ### 最后的 npm发布 - 配置package.json 1. 指定包的入口 "main": "./bin/www.js" 2. 增加files属性,用来描述当把 npm 包,作为依赖包安装的文件列表。当 npm 包发布时,files 指定的文件会被推送到 npm 服务器中 3. 增加description、keywords等描述字段