美文网首页
一些工具学习

一些工具学习

作者: 粑粑八成 | 来源:发表于2019-04-27 12:46 被阅读0次

0. 整个流程

1. commander.js(制作cli工具)

1 .action回调函数接受的参数和输入的一致,

  1. 如果输入的是之前option中定义的格式,则会帮你自动放到Command对象里,
  2. 如果自定义参数和option定义的乱序输入,Command对象会自动放到antion回调函数的最后一位
  3. []表示可选参数, <>表示必输参数
  4. option有两个定义
    option(flags: string, description?: string, fn?: ((arg1: any, arg2: any) => void) | RegExp, defaultValue?: any): Command;
    option(flags: string, description?: string, defaultValue?: any): Command;
  1. option里定义的前面最多加三个‘-’,多加了就报错了 XD
var program = require("commander");

program
  .version("0.0.1")
  .usage("[options] [dir]")
  .description("a test cli program")
  .option("-n, --name <name>", "your name", "GK")
  .option("-a, --age <age>", "your age", "22")
  .option("-e, --enjoy [enjoy]")
  .action((ccc, options) => {
    console.log(1111111111, ccc);
    console.log(222222222222222, options);
  });

program.parse(process.argv);

2. node.js readline(与用户在终端的输入进行交互)

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question('你如何看待 Node.js 中文网?', (answer) => {
  // TODO:将答案记录在数据库中。
  console.log(`感谢您的宝贵意见:${answer}`);

  rl.close();
});
function confirm(msg, callback) {
  var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
  });

  rl.question(msg, function (input) {
    rl.close();
    callback(/^y|yes|ok|true$/i.test(input));
  });
}

3. chalk.js 控制打印的字体颜色字体样式

4. cross-spawn.js

使用spawn创建子进程执行命令

5. 清空控制台输出(感觉就和手动输入了clear一样)

\x1B ASCII对应到 ESC

Linux ANSI 控制码
这几个命令大概的意思是:
[2J 清除控制台
[H 将光标移至最顶部

 process.stdout.write(
    process.platform === 'win32' ? '\x1B[2J\x1B[0f' : '\x1B[2J\x1B[3J\x1B[H'
  );

判断操作系统 process.platform/os.platform()

6. mkdirp.js

和mkdir -p 一样,递归创建目录,层级的;

7. path.resolve

返回一个绝对路径的字符串

const path = require('path')
// /表示根路径
console.log(path.resolve('/foo/bar', './baz'))
// 输出 D:\foo\bar\baz
// 什么都不加的情况
console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'))
// 输出  工作目录+\wwwroot\static_files\gif\image.gif

8. fs.writeFileSync

在没有改文件时就自动创建

9. fs-extra.js

掘金文章介绍相关API

10. dedent.js

去处多行字符串中的缩进

const dedent = require('dedent');
console.log(dedent(`Line #1
                                Line #2
Line #3`))

/*
Line #1
Line #2
Line #3
*/

11.读JSON文件

function readJSONFile (...restPath) {
  let result = []
  try {
    result = JSON.parse(fs.readFileSync(path.resolve.apply(null, restPath)));
  } catch(e) {
    throw e;
  }
  return result;
}

相关文章

  • AI 开发工具总结

    AI 开发工具总结机器学习工具开发工具包:机器学习的开源工具深度学习工具github 上一些工具: 参考 机器学习...

  • 一些工具学习

    0. 整个流程 1. commander.js(制作cli工具) 1 .action回调函数接受的参数和输入的一致...

  • 产品经理学习笔记之工具篇

    之前提到的一些内容可能会涉及到一些工具,所以先把我常用的和正在学习使用一些工具整理出来。如果仅仅是想要找到一些工具...

  • 听课笔记【樊登:可复制的领导力】第一课 什么是领导力

    课程首先告诉我们,领导力是可以学习的,它是一些工具的集合,是思维的工具、沟通的工具、创新的工具、效率的工具以及...

  • 学习Docker的一些工具

    Vagrant + VirtualBox使用Vagrant和VirtualBox可以快速搭建Linux开发环境 d...

  • 开发者路线2021-08-06

    学习一些CI/CD工具:Gitlab CI、Github Actions、Bamboo、Azure DevOps、...

  • iOS-初识逆向IDA工具使用

    逆向小白一枚,记录下自己学习反编译的一些历程 ~一般学习逆向,也是需要借助一些工具的,通过反编译工具,分析二进制文...

  • 如何提升孩子的学习力(十)

    认知点: .高效学习的工具和方法有必要了解一些方法和工具包括刻意练习、思维导图、突破式学习、学习笔记,以教为学,时...

  • 面向初学者的5个最佳PhotoShop技巧

    01.学习键盘快捷 键学习键盘快捷键将帮助您加快处理流程。工具栏中有一些用于不同工具的键盘快捷键。一些最广泛使用的...

  • 提高学习工作效率的三大行动工具

    学习工作中,我们为了提高工作效率和学习效率,会利用一些工具,我尝试使用了一些工具后,最终留下来最好用的有三个行动工...

网友评论

      本文标题:一些工具学习

      本文链接:https://www.haomeiwen.com/subject/ihlhnqtx.html