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

Уроки React. Урок 1, Введение.

Окунемся немного в прошлое и разберемся как вообще появился React, и зачем вообще нам нужны фреймворки. Вернемся лет на 10 назад к примеру, когда был только чистый JavaScript, зачастую он выполнял простейшие задачи, такие как валидация формы и.т.п. Ключевая концепция – это абстрагироваться от неких обыденных проблем, и решать более сложные, задачи.

Уроки React. Урок 11. Pt.1.

На предыдущем уроке мы научились более удобным способом писать reducers используя удобные API для добавления/удаления элементов, не беспокоясь о том, что мы что-то изменим по дороге.

Теперь если мы с Вами посмотрим на наше приложение и откроем какую-нибудь статью, то увидим в console warnning. Наши propTypes предупреждают нас о наличии проблемы, еще до того момента как мы до нее доберемся. Это огромный плюс – то что мы их написали. О чем говорит этот warnning ?