Page 329 - Браун Э. - Изучаем JavaScript. Руководство по созданию современных веб-сайтов - 2017
P. 329
e
let counts = filenam s . m ap ( f => {
try {
const data = fs . readFileSync ( , { encoding : ' u tf8 ' } ) ;
f
return ' $ { f } : $ { d ata . s plit ( \ n ' ) . l ength} ; '
'
catch ( e rr) {
return ' $ { f } : ошибка при чтении файла ' ;
} ) ;
console . l og ( c ounts . j oi ( ' \ n ' ) ) ;
n
Объект process позволяет также обращаться к переменным среды окружения че
рез объект proce s . env. Переменные среды окружения называют системными пере
s
менными, которые главным образом используются для программ командной строки.
В большинстве систем U11ix вы можете установить переменную среды окружения,
просто введя команду export ИМЯ=Значение (традиционно имена переменных окру
жения пишутся прописными буквами). В Wi11dows для этого используется команда
set ИМЯ=Зна чение. Переменные окружения зачастую используются для изменения
поведения некого аспекта вашей программы, когда нежелательно передавать значе
ние в командной строке каждый раз при запуске программы.
Например, мы могли бы использовать среду окружения для отключения вьmода отла
дочной информации. Для управления поведением программы используется переменная
среды окружения DEBUG, которую мы устанавливаем равной 1, если хотим, чтобы про
грамма выводила отладочную информацию (любое другое значение отключит отладку).
const debug = process . env . DEBUG === " 1 " ?
console . log :
(
function ) { } ;
dеЬug ( " Выводится в случа , если переменная окружения DEBUG=l ! " ) ;
е
В этом примере мы создаем функцию, debug, которая просто является псевдо
нимом для console . log, если переменная окружения DEBUG установлена, и пустой
функцией (которая не делает ничего) в противном случае (если бы мы оставили пе
ременную debug неопределенной, то вызвали бы ошибку, когда попытались бы ис
пользовать ее!).
В предыдущем разделе мы говорили о текущем рабочем каталоге, которым
по умолчанию является каталог запуска программы (а не каталог, в котором про
.
грамма расположена). Метод proc s s . cwd указывает текущий рабочий каталог,
e
а proce s s . chdir позволяет его изменить. Например, если нужно вывести каталог,
из которого программа была запущена, и изменить текущий каталог на тот каталог,
в котором находится сама программа, то можно сделать следующее.
g
console . l o ( ' Teкyщий каталог : $ { process . c w ( ) } ' ) ;
d
e
process . chdir (�dirnam ) ;
d
g
console . l o ( ' Hoвый текущий каталог : $ { process . c w ( ) } ' ) ;
332 Глава 20. Платформа Node

