2016-02-23 2 views
-3

Я, видимо, пропустил сдвиг в культуре JavaScript; теперь я вижу библиотеки JavaScript (например, modernizr или миллион других), которые говорят об установке их через командные строки через npm. Это, конечно, очень отличается от простого понятия <script src ='...'></script>.Почему так много библиотек JavaScript говорят об установке командной строки?

Мой вопрос: не «что такое npm», но что происходит в культуре JavaScript-разработки - это сдвиг парадигмы.

И если все это о node.js, то почему эти библиотеки не очень четко заявляют на вершинах своих страниц загрузки (или где бы то ни было), что их библиотека является библиотекой node.js?

command line? О чем ты говоришь!? ... это JavaScript!

+0

Не ясно ли документация для модернизатора? Установка npm предназначена для инструмента, который позволяет создавать пользовательскую сборку modernizr только с теми функциями, которые вы хотите включить в нее. – Quentin

+0

Чтобы подчеркнуть это, «то, что происходит в культуре развития js», вне темы для SO. – j08691

+0

@Quentin, он не знает, что такое «установка npm», сам узел js является относительно новым и неизвестным большинству людей. – seahorsepip

ответ

3

Что происходит с JavaScript точно такой же самое, что уже произошло на Java с Maven и для Python с pip (чтобы назвать только два). Комплексное программное обеспечение имеет зависимость, и удовлетворяющие эти зависимости может быть решены одним из трех способов:

  1. включает все зависимости вместе с пакетом программного обеспечения
  2. сделать разработчик выследить, скачать и объединить все зависимость
  3. описывает зависимости стандартным образом и использовать программное обеспечение для автоматической установки зависимостей

первого варианта имеет проблемы размера кода и сложность обновления зависимостей и подразделы зависимостей новее (например, если я хочу обновить пакет A, и это зависит от B и C, которые не нуждаются в обновлениях, мне тогда нужно повторно загружать связанные B и C в любом случае?). Второй вариант - это современное состояние на клиентском JavaScript, и это огромная боль, если у вас нетривиальное число зависимостей. Третий вариант - это менеджер пакетов, такой как NPM, или Maven, или пипс, или как менеджер программного обеспечения для дистрибутива GNU/Linux.

Что касается таких проблем, как: «Командная строка? Не выполняются ли мои клиентские скрипты в браузере?» - да, вы запустите код в браузере, но вы получите свои зависимости, используя инструмент диспетчера пакетов, который запускается в командной строке. Инструменты командной строки решают проблему , загружая множество программных библиотек, что является задачей, полностью отделенной от контекста, в котором работает код.

+0

поэтому npm - проблема рабочей станции ... что-то я делаю во время разработки на моей рабочей машине? – dsdsdsdsd

Смежные вопросы