温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

nodejs渐入佳境[7]-yargs处理命令行参数

发布时间:2020-07-23 15:07:37 阅读:368 作者:jonson_jackson 栏目:开发技术
前端开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

yargs用于方便的处理命令行参数。导入yargs包,在项目路径下:

1
> npm install --save yargs

原始文件

app.js:

12345678
const yargs = require('yargs');console.log('Start app.');console.log(process.argv);console.log('yargs',yargs.argv);var command = process.argv[2];

获取用户输入

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

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

输出字符串

1234567
Start app.[ '/Users/jackson/.nvm/versions/node/v10.13.0/bin/node',  '/Users/jackson/Desktop/compaign/app.js',  'remove',  '--title=buy book' ]yargs { _: [ 'remove' ], title: 'buy book', '$0': 'app.js' }Remove node

app.js

1234567891011121314151617181920212223
//打印字符串const yargs = require('yargs');const nodes = require('./nodes.js')console.log('Start app.');console.log(process.argv);console.log('yargs',yargs.argv);const argv = yargs.argv;var command = process.argv[2];if(command==='add'){  nodes.addNote(argv.title,argv.body);}else if(command === 'list'){  nodes.getAll();}else if(command =='read'){  nodes.getNote(argv.title);}else if(command=='remove'){  nodes.removeNote(argv.title);}else{  console.log('command not find');}

notes.js:

12345678910111213141516171819202122232425
console.log('start nodes.js');var addNote = (title,body)=>{console.log('Adding note',title,body);}var getAll = ()=>{console.log('Get All notes');};var getNote = (title)=>{  console.log('getting note',title);};var removeNote = (title)=>{  console.log('Removing note',title);};module.exports = {    addNote,    getAll,    getNote,    removeNote};

测试

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

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

输出字符串:

12345678
start nodes.jsStart app.[ '/Users/jackson/.nvm/versions/node/v10.13.0/bin/node',  '/Users/jackson/Desktop/compaign/app.js',  'remove',  '--title=buy book' ]yargs { _: [ 'remove' ], title: 'buy book', '$0': 'app.js' }Removing note buy book

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

1
> node app.js add --title="buy book" --body="jonson"

输出字符串:

123456789101112
start nodes.jsStart app.[ '/Users/jackson/.nvm/versions/node/v10.13.0/bin/node',  '/Users/jackson/Desktop/compaign/app.js',  'add',  '--title=buy book',  '--body=jonson' ]yargs { _: [ 'add' ],  title: 'buy book',  body: 'jonson',  '$0': 'app.js' }Adding note buy book jonson
  • 本文链接: https://dreamerjonson.com/2018/11/13/node-7-yargs/

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

nodejs渐入佳境[7]-yargs处理命令行参数

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×