Skip to content

为什么要使用Node.js开发脚手架

  • JavaScriptTypeScript强大的语言特性
  • Node.js具有强大的生态能够支持CLI的快速开发
    • 内置库,如:fs path os child_process....
    • 三方库,如:commander yargs fs-extra rxjs....
  • Node.js具备强大的npmyarn等包管理系统,可以快速完成CLI的发布和更新。
    • 创建,npm init
    • 开发,npm script
    • 发布,npm publish
    • 应用,npm install

脚手架开发的基础知识

  • 基础知识:Shell Bash CLI 等操作系统的基础知识。
  • 掌握Node开发:Node.js 内置库、常用库、脚手架框架及各种命令行特有能力的开发方法(键盘输入、键盘监听、文本颜色、命令行交互等)

什么是BashCLI

  • BashShell 是什么? 它们有什么用?

    • 什么是Shell
      • Shell是计算机提供给用户与其他程序进行交互的接口

        A shell program is one that provides users with an interface to interact with other programs

      • Shell是一个命令解释器,当你输入命令后,由Shell进行解释后交给操作系统内核(OS Kernel)进行处理。

        A Shell is an interface that gives you access to your computer's Operating System. Think of it as a wrapper around your Operating System's Kernel.

      • 图形操作系统是Shell吗? 是的!图形操作系统属于GUI Shell
    • 什么是Bash
      • 简单地说:Bash是一种程序,它的职责是用来进行人机交互

        short answer: Bash is a program on your computer like any other, but designed to be easy for you to talk to.

      • Bash 和其他程序最大区别在于,它不是用来完成特定任务(如计算器、文件管理等),我们通过bash shell来执行程序。

        Bash is a shell program designed to listen to my commands and do what I tell it to.

    • Bash有什么用?
      • 现在已经习惯了可视化的图形操作系统,但是Bash使用了一种与图形界面完全相反的方案:通过纯文本的控制台进行控制,它的主要交互方式通过键盘输入文本, 文字反馈来实现人机交互。
      • GUI发展如火如荼的今天,Bash过时了?不!恰恰相反Bash在开发领域应用越来越广泛。Bash最大的优势就是简单易用,虽然它的显示效果不如GUI 但是一旦熟练后其操作效率远远大于GUI

        Bash is a simple tool in a vast toolbox of programs that lets me interact with my system using a text-based interface.

  • 什么是CLI?

    • 命令行界面(CLI)是一种基于文本界面,用于运行程序。

      A command-line interface(CLI) is a text-based user interface(UI) used to run programs, manage computer files and interact with the computer. Command-line interfaces are also called command-line user interfaces, console user interfaces and character user interfaces.

    • CLI接受键盘输入,在命令符号提示输入命令,然后由计算机执行并返回结果。

      CLIs accept as input commands that are entered by keyboard; the commands invoked at the command prompt are then run by the computer.

    • 今天大部分操作系统都会以GUI作为基础,但是基于Unix的系统都会同时提供CLIGUI

      Today, most vendors offer the graphical user interface(GUI) as the default for operating systems(OSes) such as Windows, Linux and macOS. Most current Unix-based systems offer both a command-line interface and a graphical user interface.

  • 总结

    • Shell是操作系统提供的接口程序,用于接受用户输入的命令,交给操作系统内核执行并接受响应结果
    • BashShell的一个实现,用于执行用户输入的命令。
    • CLIBash的运行环境,CLI接受用户键盘输入,交给Bash执行,并将程序处理结果以文本形式进行显示。 01-cli.png

Released under the MIT License.