Answer the question
In order to leave comments, you need to log in
How to run #!/usr/bin/env node with arguments?
The question is primarily for Linux shell connoisseurs than for node.js (I outlined specific things as clearly as possible).
Let's say I want to use an argument --harmony
when calling node
.
There is a file test
that we call by passing JSON to it: ./test '{"message":"Hello World!"}'
The contents of the file:
#!/usr/bin/env node
'use strict';
/* jshint node: true */
/* jshint esversion: 6 */
// Получаем значение переданного аргумента.
var json = GLOBAL.process.argv[2];
/*
Если интересно, то GLOBAL.process.argv в данном вызове будет таков:
GLOBAL.process.argv = [
'/usr/bin/nodejs',
'/путь/к/файлу/test',
'{"message":"Hello World!"}'
];
*/
// Получаем объект из JSOn
var args = JSON.parse(json);
// Деструктурируем объект, получая переменную message из свойства args.message
var {message} = args;
/*
А вот здесь облом, ибо дестрктуризация поддерживается экспериментально
и включается вызовом node с аргументами --harmony и --harmony_destructuring
*/
console.log(message);
#!/usr/bin/env node
?
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question