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
5command:命令,比如 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
,HTML
和CSS
构建跨平台的桌面应用