यह जब एक NPM स्क्रिप्ट तर्क के रूप में उपयोग करते हुए बाहर कॉल करने के लिए yargs से एक कुंजी को पुनः प्राप्त करना संभव है?NPM स्क्रिप्ट पास मानकों/नोड स्क्रिप्ट के तर्क yargs
OSX टर्मिनल में उपयोगकर्ता प्रकार:
npm run scaffold --name=blah
जो package.json में कार्यान्वित:
"scaffold" : "node ./scaffold/index.js -- "
यह अगर मैं मुश्किल कोड में
const yargs = require('yargs').argv
if (yargs) {
console.log(yargs);
console.log(yargs.name);
process.exit(1)
}
...
result:
{ _: [], '$0': 'scaffold/index.js' }
undefined
यह केवल काम करता है में परिणाम package.json "scaffold" : "node scaffold/index.js --name=blah"
, लेकिन मैं जरूरत यह विन्यास किया जाना है।
जैसा कि मैंने कहा मैं args का उपयोग कर रहा है, यह आसान नाम से कुंजी (के रूप में एक सरणी के खिलाफ) को पुनः प्राप्त करने करने के लिए प्रकट होता है। सुझावों के लिए खोलें।
मुझे क्या याद आ रही है?
अद्यतन 2017/11/07 संबंधित: Sending command line arguments to npm script
हालांकि, कमांडलाइन में गुजर 1: npm run scaffold name=hello
या 2: npm run scaffold --name=hello
पैदावार:
1: { _: [], '$0': 'scaffold/index.js' }
2: { _: [ 'name=hello' ], '$0': 'scaffold/index.js' }
फिर भी yargs.name
संपत्ति को पुनः प्राप्त करने के लिए एक रास्ता नहीं देख सकते हैं । अभी भी अपरिभाषित
अद्यतन 13-07-2017
समय के लिए किया जा रहा है, मैं छोड़ दिया है। यह बस असंभव प्रतीत होता है। मैं टर्मिनल में मैन्युअल रूप से स्क्रिप्ट चलाता हूं। ईजी।
node ./scaffold/index.js --name=blah
सीधे एक नोड स्क्रिप्ट के क्रियान्वित करने के रूप में NPM स्क्रिप्ट के माध्यम से चल करने का विरोध शो नीचे छवि। मैं (यह नहीं है) अगर यह मदद करता है देखने के लिए https://www.npmjs.com/package/nopt नोड मॉड्यूल जोड़ लिया है। process.argv.name
अभी भी अपरिभाषित जब NPM स्क्रिप्ट के माध्यम से चल रहा है।
अद्यतन 18-07-2017
जोड़ा गया GitHub उदाहरण: https://github.com/sidouglas/stackoverflow-node-arguments
अद्यतन 24-07-2017
से पहले आदेश के शुरू होने से काम करता है myvar="hello npm run scaffold
रूप npm run scaffold myvar="hello world"
बहुत रोचक। कमांड काम शुरू करने के लिए चर जोड़ना। अंत में, यह विफल रहता है। आपके उत्तर के लिए धन्यवाद – Simon
खुशी है कि आपने इसे समझ लिया है। बदलावों के साथ बस आपके उदाहरण रेपो में एक नई शाखा को दबा रहा था और जिथब सहयोग नहीं कर रहा था। – Chase