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
   324   325   326   327   328   329   330   331   332   333   334