node.js命令行输入输出

node.js命令行输入输出

总结一下命令行输入输出。

命令行输出

nodejs命令行输出一般有:

  • console.log
  • console.error
  • console.dir
  • console.clear
  • console.count
  • console.trace
  • console.time
  • console.timeEnd

着色

可以使用输出格式化给输出添加样式。

可以使用Chalk着色器:https://github.com/chalk/chalk

安装:

1
cnpm install chalk

使用:

1
2
const chalk = require('chalk')
console.log(chalk.yellow('你好'))

进度

使用progress:https://www.npmjs.com/package/progress

1
2
3
4
5
6
7
8
9
10
11
const ProgressBar = require('progress')

const bar = new ProgressBar(':bar', {
total: 10
})
const timer = setInterval(() => {
bar.tick()
if (bar.complete) {
clearInterval(timer)
}
}, 100)

命令行输入

如何在命令行读取用户的输入:

1
2
3
4
5
6
7
8
9
10
11
const rl = require('readline')

let getUser = rl.createInterface({
input: process.stdin,
output: process.stdout
})

getUser.question('请输入用户名:', (username) => {
console.log(`用户名是: ${username}`)
getUser.close()
})

可以使用inquirer包: cnpm install inquirer

1
2
3
4
5
6
7
8
9
10
11
const inquirer = require('inquirer')

var questions = [{
type: 'input',
name: 'name',
message: "你叫什么名字?"
}]

inquirer.prompt(questions).then(answers => {
console.log(`你好 ${answers['name']}!`)
})

评论