08Sep

868d4746549e43a4966d9bffb8677889

Следующая возможность NPM, которую мы с вами рассмотрим, это глобальные модули. Любой модуль можно поставить глобально, если добавить флаг (-g)

npm –g i express.

Как видим, не получается это сделать, потому что глобально – означает в системную директорию. Если операционная система поддерживает ограничение доступа, то, как правило, от обычного user в системную директорию я писать не имею права. Для этого, в данном случае, у меня Mac, я сделаю запуск через команду sudo. Если у вас Windows, то, скорей всего, у вас и так все работает. Там директория глобальных модулей почему-то находится внутри каталога user.

Итак, оно скачивается, ставится. Чем глобальная установка отличается от обычной?

  1. В первую очередь, это местом. Глобальные модули ставятся в стандартную системную директорию.
  2. Второе отличие это то, те binary , которые есть в свойстве bin package.json будут поставлены по системному пути. Это означает, что express’ binary  я теперь могу вызвать просто вот так.

Любые дальнейшие операции с глобальными модулями осуществляют также, как с обычными, но с флагом –g:

npm –g up express

или просто

npm –g up

чтобы все модули up были глобальными, которые только стоят.

Или npm –g r express – удалить express.

Зачем вообще нужны глобальные модули?  Перед тем, как об этом говорить, развеем часть заблуждения, связанную со словом «глобальный».
Глобальный  – обычно означает доступный на уровне системы, доступный всем. Глобальная переменная – это та, к которой можно обратиться откуда угодно. В данном случае, слово глобальный используется по историческим причинам. Когда-то так и было, но сейчас, если модуль поставлен глобально, то это не означает, что он автоматически становится доступен всем. То есть, несмотря на то, что я поставил express глобально, если где-нибудь сделаю require(“express”), то оно модуля не найдет. Глобальный, в данном случае, означает, скорее, системный.

Основное применение глобальной установки модуля – это сделать доступным binary  по системному пути. Например, есть ряд утилит, которые написаны для Node.JS, скажем, есть утилиты uglify-js, которыми сжимают js файлы. Эту утилиту я могу поставить глобально:
npm –g i  uglify-js

Когда она будет стоять глобально, то я получу uglify-js по системному пути, который могу вызывать.

Таким образом, если обобщить, глобальные модули – это модули, которые используются для системных нужд. Как правило, это различные утилиты. Глобальный модуль не становится автоматически доступен везде, его можно “прилинковать” к приложению с использованием команды

npm link express.

если хотите, посмотрите и help, но это не рекомендуется.

tumblr_inline_nn489p271Z1t68bpr_500

 

Материал урока взят из следующего скринкаста

We are looking forward to meeting you on our website soshace.com

2. Уроки Express.js . Логгер, Конфигурация, Шаблонизация с EJS. Часть 1.

Всем привет! Для того чтобы дальше разрабатывать это приложение, нам нужно сделать еще две важные вещи , а именно, конфигурация и логирование. Для того чтобы конфигурировать, будем использовать модуль nconf:

Уроки React . Урок 8

В сегодняшнем уроке мы займемся уже более сложные вещи. Мы уйдем от ручного описания всех этих “closure”, subscriptions, все это конечно же не делается вручную. Мы научимся делать все значительно проще и элегантнее. Первое что хотелось бы сделать, это избавиться от всех этих подписок, оборачиваний, как например в app.js. Для этого существует библиотека react-redux, установим ее:

npm i react-redux –S

Сам по себе Redux можно использовать где угодно, а наша библиотека помогает подружить React с Redux и писать меньше кода.