node.js 的argv包使用问题
迷茫
迷茫 2017-04-17 11:24:07
[Node.js讨论组]

问题描述:

参考《七天学会node.js》中的node-echo的例子(第二章的工程目录)。
1. 我使用命令:npm install argv安装了argv包;
2. 然后,按照里面提示的代码,
/* bin/node-echo */
var argv = require('argv'),
echo = require('../lib/echo');
console.log(echo(argv.join(' ')));
3. 第三,运行命令
node /home/duqi/node/node-echo/bin/node-echo.js -o hello word du qi

问题表现:

解决问题的过程

(1)我认为是argv模块中join方法不存在;
(2)通过查询资料,找到这个资料:argv的包解释。
在这个文章里,有提到
var options = { name: 'option', short: 'o', type: 'string', description: 'Defines an option for your script', example: "'script --opiton=value' or 'script -o value'" });
但是对这个options的含义不太理解
然后执行下面的这条语句
argv.option(options).run()
最后运行上述的命令,结果是
{ targets: [ 'word', 'du', 'qi' ], options: { option: 'hello' } }
这个结果不太理解~
(3)我又通过这篇文章查到process模块,然后写出下面的代码
var echo = require('../lib/echo'); var args = process.argv; var res = args[3]+' '; for(var i=4;i<args.length;i++){ res += args[i] + ' '; } console.log(echo(res));

问题最后解决了,但是,对argv模块的用法没有搞清楚,希望各位给我一点建议,非常感谢啦

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
PHPz

我试了一下

var argv = require('argv');
var args = argv.option({
    name: 'option',
    short: 'o',
    type: 'string',
    description: 'Defines an option for your script',
    example: "'script --opiton=value' or 'script -o value'"
}).run();

console.dir(args.options);

然后

$ node app.js -o aaa
{ option: 'aaa' }
巴扎黑

通过文档解释,可以这样实现

var argv = require('argv'),
    args = argv.run();

console.log(args.targets.join(' '));
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号