命令行工具;cli;bin。

疑问

  • bin是什么?
    • 在 package.json 中指定了 bin 字段,那说明该模块提供了可在命令行执行的命令
  • 为什么执行father-build会直接执行脚本?

    • 在 package.json 中指定了 bin 字段,且在项目中安装时,相关命令会映射到node_modules/.bin中,因此可以直接执行。

      摘要&心得

  • 开发命令行工具的关键依赖

    • inquirer、enquirer、prompts:可以处理复杂的用户输入,完成命令行输入交互。
    • chalk、kleur:使终端可以输出彩色信息文案。
    • ora:可以让命令行出现好看的 Spinners。
    • boxen:可以在命令行中画出 Boxes 区块。
    • listr:可以在命令行中画出进度列表。
    • meow、arg:可以进行基础的命令行参数解析。
    • commander、yargs:可以进行更加复杂的命令行参数解析。
  • 内容过于细碎,但是应该是类似father-build这种库的基础知识。

    bin

    在 package.json 中指定了 bin 字段,那说明该模块提供了可在命令行执行的命令

  • 在项目中安装,则映射到 ./node_modules/.bin/ 目录下

  • 全局安装,会将这个目标 js 文件映射到 prefix/bin 目录下
  • image.png