Глобальні змінні
В Node.js існує обʼєкт Global. І щоб створити глобальну змінну потрібно її оголосити як властивість цього обʼєкту.
global.myValue = 5;
Якщо порівнювати з front-end розробкою для браузера, то це аналогія обʼєкта window.
Дізнатися із чого складається наш обʼєкт Global можна законсоливши його.
console.log(global);
В ньому містяться як змінні, так і методи. Наприклад, timeout.
setTimeout(() => {
console.log("timer");
}, 3000);
Метод require, буде не глобальним, а локальним для кожного окремого модуля.
Локальними для кожного модуля також є:
module.export - об'єкт в якому ми зазначаємо що хочемо експортувати з модуля.
__filename - ім'я файлу скрипта, який виконується.
__dirname - шлях до директорії де міститься наш скрипт.
Створимо в якомусь файлі нашого проєкту такий скрипт і подивимося на результат
console.log(__dirname);
console.log(__filename);
До Global належать такі важливі класи:
Buffer - об'єкт, який використовують для операцій з бінарними даними.
Process - об'єкт процесу, в якому й зберігається більшість даних.
Розглянемо обʼєкт Process. він, наприклад містить дані про саму ноду, її версію, релізи, env тощо.
console.log(process);
Наприклад властивість process.env містить обʼєкт, який зберігає певні дані про систему. Ці дані можуть бути перевизначені і їх конфігурація різниться від операційної системи..
console.log(process.env.LOGNAME);
У цьому обʼєкті, наприклад можемо також створити якийсь параметр (змінну).
process.env.NodeEnv = "test env";
console.log(process.env.NodeEnv);
А от властивість process.argv містить масив аргументів командного рядка. Нульовим елементом буде ім'я виконуваної програми. node, другим ім'я самого виконуваного сценарію і тільки потім самі параметри.
console.log(process.argv);
node index.js 123 Hello
Це використовують в написанні консольних застосунків.
Для роботи з каталогами використовуються такі функції:
process.cwd() - повертає поточний робочий каталог (current working directory).
console.log(process.cwd());
process.chdir() - виконує перехід в інший каталог.
process.exit() - завершує процес із зазначеним як аргумент кодом: 0 – успішний код, будь-яке відмінне від 0 число, але найчастіше 1 – код помилки. (код після цього рядка не виконається).
process.nextTick(fn) - запланує виконання вказаної функції таким чином, що вона буде виконана після закінчення поточної фази (поточного виконуваного коду), але перед початком наступної фази event loop.
process.nextTick(function() {
console.log('NextTick callback');
}
Об'єкт Process містить багато властивостей та методів, з якими можна ознайомитись самостійно у довідковій документації до Node.js.
Last updated