node基础(二)

Node.js 开发方向,GUI(图形用户界面 ), CLI(命令行界面), server(提供服务), CLI常用第三方工具: commander(命令行开发工具), chalk(命令行样式风格控制器),inquirer(交互式命令行工具). GUI开发桌面级应用第三方工具: NW.JS, Electron

开发方向

  • GUI-Graphical User Interface:图形用户界面
    office、vscode、浏览器、播放器……
  • CLI-Command-Line Interface:命令行界面,也称为 CUI,字符用界面
    虽然没有GUI操作直观,但是CLI更加节省计算机资源(所以一般用于服务器环境)babel、tsc / webpack / vue-cli
  • Server - 服务提供(Web Server、IM……)
    1
    2
    3
    4
    5
    command:命令,比如 vue
    [subCommand]:子命令,比如 vue create
    [options]:选项,配置,同一个命令不同选项会有不一样的操作结果,比如 vue -h,vue -v, 选项一般会有全拼与简写形式 全拼:以 -- 开头 / 简写:以 - 开头
    [arguments]:参数,某些命令需要使用的值,比如 vue create myApp
    选项与参数的区别:选项是命令内置实现,用户进行选择,参数一般是用户决定传入的值

CLI常用第三方框架

commander 命令行开发工具
  • commander.parse(argv: string[])
    解析执行传入的 argv 命令字符串,通常改命令字符串来自用户在命令行的输入,process.argv, commander 同时会默认创建一个 -h, –help 的选项
  • commander.version(str, flags?)
    设置版本信息,该方法会自动为命令注册一个 -V, –version 的 option, str:版本号,flags:指定的 option,默认为:”-V, –version”
  • commander.option(flags, description?, fn?, defaultValue?)
    设置命令选项,flags 中的格式可以接收参数,[] 可选 <> 必填
  • commander.action(fn)
    指定命令要执行的动作行为,该函数执行过程会接收到至少一个参数
    如果命令中带有参数,则是对应的参数列表,参数的最后一个永远都是 commander 实例
  • commander.description(str) 命令描述
  • commander.alias(str) 设置命令别名
  • commander.usage(str) 设置或获取当前命令的使用说明
chalk 命令行样式风格控制器
  • 安装 npm i chalk / yarn add chalk
  • 引入 const chalk = require('chalk')
  • 使用 console.log(chalk.blue('Hello world!'))
  • chalk.hex('#DEADED'), chalk.keyword('orange') ,chalk.rgb(15, 100, 204)
inquirer 交互式命令行工具
  • 安装 npm i inquirer
  • 使用 require('inquirer') inquirer.prompt(questions).then(answers=>{})
  • questions(type, name, message, default, choices, validate, filter)
  • type: 提问类型,input, confirm, list, rawlist, expand, checkbox, password, editor

GUI 图形用户界面(桌面应用)

GUI 图形用户界面(桌面应用),使用JavaScript, HTMLCSS构建跨平台的桌面应用

基于Node.js的GUI框架 NW.JSElectron

-------------本文结束感谢您的阅读-------------
0%