uba 开发中所用到的中间件简介

@kvkens 2016-08-21 12:51:11发表于 iuap-design/blog

uba 开发中所用到的中间件简介

uba 目前使用了5种中间件:

  1. chalk 一款比较有意思的工具,可以往控制台、终端输出不同颜色的文本,适合编写帮助、向导类的文字。

    const chalk = require('chalk');
    
    console.log(chalk.blue('Hello world!'));
    
  2. cross-spawn 一款跨平台的node执行器,简单来说,它可以通过我们编程来实现一些shell命令。

    var spawn = require('cross-spawn');
    
    // Spawn NPM asynchronously
    var child = spawn('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });
    
    // Spawn NPM synchronously
    var results = spawn.sync('npm', ['list', '-g', '-depth', '0'], { stdio: 'inherit' });
    
  3. minimist 解析参数选项 如:$node abc -a 456 -b 789

    $ node example/parse.js -x 3 -y 4 -n5 -abc --beep=boop foo bar baz
    { _: [ 'foo', 'bar', 'baz' ],
      x: 3,
      y: 4,
      n: 5,
      a: true,
      b: true,
      c: true,
      beep: 'boop' }
    
  4. path-exists 检查一个文件路径是否存在。

    // foo.js 
    const pathExists = require('path-exists');
    
    pathExists('foo.js').then(exists => {
        console.log(exists);
        //=> true 
    });
    
  5. semver 用于当前npm版本与运行node程序版本是否一致环境检测。

    $ npm install semver
    $ node
    var semver = require('semver')
    
    semver.valid('1.2.3') // '1.2.3'
    semver.valid('a.b.c') // null
    semver.clean('  =v1.2.3   ') // '1.2.3'
    semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
    semver.gt('1.2.3', '9.8.7') // false
    semver.lt('1.2.3', '9.8.7') // true