一个简单的nodejs项目(cat-names)分析

https://github.com/sindresorhus/cat-names

一个非常简单的nodejs项目,用来方便的获取猫猫的名字;

安装

npm install --save cat-names

用法:

const catNames = require('cat-names');

//获取随机猫名

catNames.random();

// => 'Max'

 

index.js源码

非常简单,不解释

'use strict';
var uniqueRandomArray = require('unique-random-array');
var catNames = require('./cat-names.json');

exports.all = catNames;
exports.random = uniqueRandomArray(catNames);

cli.js源码

#!/usr/bin/env node
'use strict';
var meow = require('meow');
var catNames = require('./');

var cli = meow([
    'Examples',
    '  $ cat-names',
    '  Max',
    '',
    '  $ cat-names --all',
    '  Abby',
    '  Angel',
    '  ...',
    '',
    'Options',
    '  --all   Get all names instead of a random name'
]);

console.log(cli.flags.all ? catNames.all.join('\n') : catNames.random());

这里用到了一个meow模块,这是一个CLI app助手模块。

当我们node cli.js --help 想查看使用方法

(注意当全局安装后应该cat-names --help)

就会输出

  Get popular cat names

  Examples
    $ cat-names
    Max

    $ cat-names --all
    Abby
    Angel
    ...

  Options
    --all   Get all names instead of a random name

其中"Get popular cat names"是package.json定义的description。

当我们node cli.js  abc --all 

abc和--all都是参数。

cli就会包含

{
  input: ['abc'],
    flags: {all: true}
}

也就是说当

node cli.js --all,因为参数all参数,实际就会调用catNames.all.join('\n')。而 catNames.all就是读取cat-names.json,这里记录的是所有的猫猫的名字!

转载于:https://www.cnblogs.com/mafeifan/p/5982976.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值