@gaonengwww/tiny-toolkit-dev
Version:
tiny-cli 模块开发脚手架
103 lines (62 loc) • 2.06 kB
Markdown
# tiny-toolkit-dev
> 快速生成 tiny 插件/套件 开发环境的工具
## 使用场景
用于开发 tiny 套件及插件
## 用法
### 初始化
```
tiny init dev
```
### 创建软链
在当前正在开发的插件或套件根目录下执行以下命令后, 之后你在本机操作的所有关于该套件或插件的命令,都是在执行你当前项目的代码
```
tiny link
```
### 发布代码
发布代码至 npm 上, 发布前会对文档进行简单的检查
```
tiny publish
```
### 查看帮助信息
```
tiny help
```
## 最佳实践
### 使用最新的 tiny-toolkit-dev 初始化
该套件会已经整合了以下所有的推荐实践方案, 并且已经处理好了所有套件, 插件的 eslint 的校验问题.
### 统一使用 `@opentiny/cli-devkit` 模块来调用 tiny 提供的方法
[API 链接](http://git.huawei.com/tiny/tiny/blob/master/docs/api.md)
```
# 使用方式
const { modules , logs } from '@opentiny/cli-devkit';
```
### 插件/套件对外暴露对象
插件和套件 本身是一个纯 npm 模块,对外暴露一个对象出来即可,其中对象的key,就是tiny的命令。
如果无子命令就可以执行的,可以给 `default` 属性传一个默认命令, 具体代码如下:
```
// 假定以下为 tiny-plugin-commit 插件逻辑
function commit() {
// 执行弹出 commit 类型选择框操作
}
function help() {
// 打印帮助信息
}
module.exports = {
help,
default: commit
}
```
### 获取命令行参数
会有 `clientArgs` 和 `clientOptions` 两个属性, 前者是控制台参数数组, 后者是控制台选项对象, 具体使用如下:
```
// 假定以下为 tiny commit help 命令的实现
// 参数保有一个,是控制台参数及选项
module.exports = function(options) {
console.log(options.clientArgs);
console.log(options.clientOptions);
}
// 执行 tiny commit help --x 1
// 那么将会输出:
// ['help']
// { x: 1 }
```