nodejs插件之二

上一章记录了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...])。规则如下:

  1. 可以采用样式链式。比如:chalk.red.bold.underline(‘Hello’),这里的样式就有red、bold和underline。
  2. 如果style样式是控制同一个属性的则以最后一个属性为准(这个类似于css中的规则)。例如:chalk.red.yellow.green 和 chalk.green 一样

chalk属性

注意:如果需要设置chalk属性,应该创建一个新实例。例如:

const ctx = new chalk.constructor({
    enabled: false//控制chalk是否可用
});
  1. enabled:控制chalk是否可用。chalk默认是可以使用的,除非明确通过构造函数设置enabled:false。
  2. 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

  1. 如果没有TTY或者运行在CI中时插件不可用。
  2. 使用方法: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的颜色。

四、参考文档

  1. org:https://www.npmjs.com/package…
  2. chalk:https://www.npmjs.com/package…
  3. semver:https://www.npmjs.com/package…
    原文作者:shishans
    原文地址: https://segmentfault.com/a/1190000014216532
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞