上一章记录了node的path模块,这一章我们接着讲一下node其他的插件。
在这章中有许多插件都提到了如果没有TTY或者运行在CI中时插件不可用,对于TTY和CI这些名词我不是很明白,他们指的具体是什么东西呢?望知道的人知道一下。我在百度出来是,TTY:TTY设备包括虚拟控制台,串口以及伪终端设备。通常使用tty来简称各种类型的终端设备;CI的解释就各式各样了,我认为比较合理的是“计算智能”,主要是利用计算机算法例如人脸识别这样的系统。
一、chalk
下载:npm install chalk
chalk:是一个样式插件。使用方法:const chalk = require('chalk'); chalk.<style>[.<style>...](string, [string...])。
规则如下:
- 可以采用样式链式。比如:chalk.red.bold.underline(‘Hello’),这里的样式就有red、bold和underline。
- 如果style样式是控制同一个属性的则以最后一个属性为准(这个类似于css中的规则)。例如:
chalk.red.yellow.green 和 chalk.green 一样
。
chalk属性
注意:如果需要设置chalk属性,应该创建一个新实例。例如:
const ctx = new chalk.constructor({
enabled: false//控制chalk是否可用
});
- enabled:控制chalk是否可用。chalk默认是可以使用的,除非明确通过构造函数设置enabled:false。
- level:可以通过设置级别属性来覆盖它。
const ctx = new chalk.constructor({level: 0});
level为0时所有的颜色不可用。
之后的,就真的翻译不出来了,完全理解不了。有懂英语的大神翻译一下。地址:http://npm.taobao.org/package…
二、semver
下载:npm install –save semver
semver:版本控制插件。
1、semver.valid(v):返回解析后的版本,如果无效,返回null。v:String 要解析的版本字符串。
const semver = require('semver')
semver.valid('1.2.3') // '1.2.3'
semver.valid('a.b.c') // null
2、 major(v):返回主要版本号
3、 minor(v):返回次要版本号
4、 patch(v):返回暂时版本号
5、 intersects(r1, r2, loose):如果r1和r2两个范围相交则返回true
三、org
一个可以在终端显示spinner的插件。
安装:npm install ora
- 如果没有TTY或者运行在CI中时插件不可用。
- 使用方法:ora([options|text])。如果只提供一个string类型的字符串,那么就等价于设置了option里面的text属性了设置了文本信息。例如:
const ora = require('ora');
const spinner = ora('Loading unicorns').start();
属性
color {String} 默认cyan(青色)这个是设置spinner的颜色的
可选颜色:black red green yellow blue magenta cyan white gray
- hideCursor {Boolean} 默认true,如果设置为false显示光标。
- interval {Number} 指定spinner的时间间隔,不要不用设置的。
- stream {WritableStream} 默认process.stderr
- enabled {Boolean} 是否可用
方法
- .start([text]):spinner开始运行,如果提供text者设置spinner的text。该方法返回该实例,即类似return this;这样的操作。
- .stop():停止并且清空spinner。该方法返回该实例。
- .succeed([text]):停止spinner并且改变旋转的log为green的✔,之前的text依旧存在如果text有提供的话则变为提供的text。
- .fail([text]):停止spinner并且改变旋转的log为red的✖,之前的text依旧存在如果text有提供的话则变为提供的text。
- .warn([text]):停止spinner并且改变旋转的log为yellow的⚠,之前的text依旧存在如果text有提供的话则变为提供的text。
- .info([text]):停止spinner并且改变旋转的log为blue的ℹ,之前的text依旧存在如果text有提供的话则变为提供的text。
- .stopAndPersist([options]):自定义完成后的log。
- .clear():清空spinner。
- .render():手工渲染一个新的frame。
- .frame():Get a new frame
- .text:改变spinner的text。
- .color:改变spinner的颜色。