使用node commander解析引号

时间:2017-06-15 21:38:49

标签: node.js command-line-interface node-commander

我正在使用node commander编写命令行界面,而且我仍然坚持解析参数中的单引号。我已经搜索了文档和StackOverflow,但还没有找到任何结论。

有没有办法传入包含单引号的参数?

抽象出我所知道的东西,我剩下的就是运行的CLI:

node test.js command 'value''s values'

使用以下程序(credit here,用于简单,有效的示例):

#!/usr/bin/env node
'use strict';

const program = require('commander');
program
    .version('0.0.1')
    .command('command <req> [optional]')
    .action(function(req,optional){
        console.log('User passed %s', req);
    });
program.parse(process.argv);

结果是User passed values values,它缺少参数第一个单词的单引号。所需的输出为User passed value's values

1 个答案:

答案 0 :(得分:1)

你需要逃避撇号。这将有效:

node test.js command "value's values"

这有效,因为有一些名为&#34;强引用&#34;。您可以阅读更多相关信息here

强引用意味着这也会起作用:

DOMNode::appendChild()