C
C
Cat Scientist2016-02-22 12:49:51
linux
Cat Scientist, 2016-02-22 12:49:51

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 testthat 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);

Question - HOW do I declare these arguments in #!/usr/bin/env node?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
D
DevMan, 2016-02-22
@eruditecat

stackoverflow.com/questions/4303128/how-to-use-mul...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question