nodejs渐入佳境[6]-获取用户输入

原始文件

app.js:

1
2
3
console.log('Start app.');

console.log(process.argv);

获取用户输入

打开控制台,在当前目录下输入:

1
> nodemon app.js add

输出字符串
默认第一个为node系统路径
第二个为文件路径
后面为输入的控制台参数

1
2
3
4
Start app.
[ '/Users/jackson/.nvm/versions/node/v10.13.0/bin/node',
'/Users/jackson/Desktop/compaign/app.js',
'add' ]

打开控制台,在当前目录下输入:

1
> node app.js add list

输出字符串:

1
2
3
4
[ '/Users/jackson/.nvm/versions/node/v10.13.0/bin/node',
'/Users/jackson/Desktop/compaign/app.js',
'add',
'list' ]

利用命令行执行不同操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//打印字符串
console.log('Start app.');

console.log(process.argv);

//获取第三个参数
var command = process.argv[2];

//不同命令执行不同操作
if(command==='add'){
console.log('Adding new note');
}else if(command === 'list'){
console.log('Listing allnodes');

}else if(command =='read'){
console.log('reading node');
}else if(command=='remove'){
console.log('Remove node');
}else{
console.log('command not find');
}

缺点

打开控制台,在当前目录下输入:

1
> node app.js remove --title="buy book"

不能很好的区分开’–title=buy book’

输出字符串:

1
2
3
4
5
6
Start app.
[ '/Users/jackson/.nvm/versions/node/v10.13.0/bin/node',
'/Users/jackson/Desktop/compaign/app.js',
'remove',
'--title=buy book' ]
Remove node