2016-07-15 121 views
1

我使用此代码添加-find标志,但我找不到如何获取可用变量中的值。从命令行输入获取值,命令行参数NPM模块,node.js/javascript

const commandLineArgs = require('command-line-args') 
const quicksearch = [ 
{name: 'find', alias: 'f',type: String} 
] 

我想在终端实现这一点,-find = github上,然后使用查找标志的值,在可用的变量,所以可发射它到服务器,我读过文件,但没有关于它。在

+0

你还好吗用'-find github'即。用''替换'=',这是标准的repl arg标志语法 – Iceman

+0

根据文档,一个可以有值的标志需要'='。 – Tom

+0

据我所知,它与空间。看看我的答案。我在我的机器上运行它。它的工作原理 – Iceman

回答

0

运行命令PROMT /庆典等:

node test.js -f github

node test.js --find github

node test.js --find=github

期望输出:

{ find: 'github' }

服务器/ JavaScript文件(test.js):

var commandLineArgs = require('command-line-args') 

const optionDefinitions = [ 
    { name: 'find', alias: 'f', type: String } 
] 

const options = commandLineArgs(optionDefinitions) 

console.log(options); 

//options.find will be equal to 'github' 
+0

如何从{find:'github'}获取github。我原本以为我可以得到它的长度,然后相应地削减,但有没有更好的方法? – Tom

+0

@Tom是一个json对象。拿起它像'options.find'! – Iceman

+0

@Tom cud u upvote如果它有帮助:D thanx – Iceman

0

我喜欢yargs library

npm i yargs

//in your script.js 

var yargs = require('yargs'); 
var flag = yargs.argv.nameOfFlag; 
//var flag === 'value' 

//equivalent to typing this in terminal: 
--nameOfFlag value 
+0

OP在headine中特别要求'command-line-args'npm模块 – Iceman

+1

aight ...我的不好。 – hsiung