首页 > 代码库 > 一个简单的nodejs项目(cat-names)分析
一个简单的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,这里记录的是所有的猫猫的名字!
一个简单的nodejs项目(cat-names)分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。