Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在node.js命令行中解析包含正斜杠的字符串_Javascript_Node.js - Fatal编程技术网

Javascript 在node.js命令行中解析包含正斜杠的字符串

Javascript 在node.js命令行中解析包含正斜杠的字符串,javascript,node.js,Javascript,Node.js,嗨,我正在编写一个NodeJS应用程序,我需要通过命令行将路径传递到某个文件。出于配置目的,我需要这样做。我知道我可以将所有配置细节放在json文件中,然后将其加载到应用程序中。但这是一项具体要求 这是我的密码 app.js ---- ----- console.log(process.argv); --- -- // Start server 现在,当我以以下方式在节点中运行此文件时: node app.js hii 输出 'hii' 但如果我这样做了 nod

嗨,我正在编写一个NodeJS应用程序,我需要通过命令行将路径传递到某个文件。出于配置目的,我需要这样做。我知道我可以将所有配置细节放在json文件中,然后将其加载到应用程序中。但这是一项具体要求

这是我的密码

app.js

  ----
  -----
  console.log(process.argv); 
  ---
  --
 // Start server
现在,当我以以下方式在节点中运行此文件时:

 node app.js hii
输出

 'hii'
但如果我这样做了

node app.js '/samplePath'
我在DOS中获得以下输出:

'\'/samplePath\''
我在Git Bash中获得以下输出:

'C:/Program Files/Git/samplePath'

如何将“/samplePath”作为输出?我做错了什么?任何帮助都将不胜感激

要获取最后一项,请尝试

 process.argv[2].split(/\//).pop();
您必须自己解析命令行选项。但是,您可以查看这个节点模块,这将使您更容易做到这一点

npm install commander
下面是他们的Github页面中的一个示例

var program = require('commander');

program
  .version('0.0.1')
  .option('-p, --peppers', 'Add peppers')
  .option('-P, --pineapple', 'Add pineapple')
  .option('-b, --bbq', 'Add bbq sauce')
  .option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')
  .parse(process.argv);

尝试使用双引号表示参数“不走运”。它仍然是相同的输出。谢谢内森,我试着使用指挥官。我没有成功。如何添加解析逻辑以接受正斜杠?