Hi I am writing a node js app where I need to pass the path to some file via command line. I need to do this for configuration purposes. I understand that I can put all config details in a json file and then load it inside the app. But this is a specific requirement.
Here is my code
app.js
----
-----
console.log(process.argv);
---
--
// Start server
Now when I run this file in node as:
node app.js hii
Output
'hii'
But if I do
node app.js '/samplePath'
I get this output in DOS:
'\'/samplePath\''
I get this output in Git Bash:
'C:/Program Files/Git/samplePath'
How will I get just '/samplePath' as output? What am I doing wrong? Any help would be appreciated.
In order to get the last item, try
process.argv[2].split(/\//).pop();
You will have to parse the command line options your self. However you can look into this node module that will make this easy for you.
npm install commander
Here is an example from their Github page
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);