Node.js предоставляет специальный объект global, который предоставляет доступ к глобальным, то есть доступным из каждого модуля приложения, переменным и функциям. Примерным аналогом данного объекта в javascript для браузера является объект window. Все доступные глобальные объекты можно посмотреть в документации.
Если в предыдущем примере мы заменим
module.exports.a = 4;
на
global.a=4
то сможем использовать его в любом модуле.
Однако по возможности все таки рекомендуется избегать определения и использования глобальных переменных, и преимущественно ориентироваться на создание переменных, инкапсулированных в рамках отдельных модулей.
При запуске приложения из терминала/командной строки мы можем передавать ему параметры. Для получения параметров в коде приложения применяется массив process.argv.
Первый элемент этого массива всегда указывает на путь к файлу node.exe, который вызывает приложение. Второй элемент массив всегда указывает на путь к файлу приложения, который выполняется.
var nodePath = process.argv[0];
var appPath = process.argv[1];
var name = process.argv[2];
var age = process.argv[3];
console.log("nodePath: " + nodePath);
console.log("appPath: " + appPath);
console.log();
console.log("name: " + name);
console.log("age: " + age);
В данном случае мы ожидаем, что приложению будут переданы два параметра: name и age.
Теперь запустим приложение с помощью следующей команды:
node app.js Tom 23
В данном случае "Tom" и "23" - это те значения, которые помещаются соответственно в process.argv[2] и process.argv[3]: