«Если вы еще этого не сделали, вам необходимо установить node.js ...». Вы читаете такие сообщения, и вы отключены. Зачем?
NodeJS - это V8 Google, «работающий на своем собственном». Это JS-движок с дополнительным низкоуровневым API (сеть, ввод-вывод и т. Д.). NodeJS предоставляет «недостающую платформу» для разработчиков JS, которые были ограничены только работой в браузере.
Почему эта зависимость от Node.js и NPM?
Node.js, кроме использования его в качестве приложения (серверов, прокси-серверов, ботов и т. Д.), Его также можно использовать в качестве средства разработки и поддержки инструментов. Возьмем, к примеру, Grunt, который является инструментом автоматизации, доступным для сценариев, который похож на Make. Скрипты в простом JS, вам не нужно изучать другой инструмент или язык для автоматизации. Другим инструментом является Bower, который является интерфейсом управления пакетами. Все, что вам нужно сделать, это bower install jquery
, и он устанавливает jquery с этой единственной командой. Не требуется ручная загрузка, копирование и вставка.
НПМ, с другой стороны, является менеджером пакетов Node.js. Это программа, которая управляет модулями, которые вы используете в NodeJS. Не нужно перечислять свои модули вручную, и не нужно помнить их, когда вы разрабатываете где-то еще. Пока у вас есть пакет NPM для вас, переустановка - это только вопрос npm install
.
Почему мы делаем вещи сложными?
Мы не знаем. Фактически, мы делаем их легкими для разработчиков. Вместо того, чтобы беспокоиться о своем рабочем процессе, управлять своими библиотеками или делать вещи вручную, вы можете отключить эти задачи до некоторых модулей, существующих в NPM. Тогда вы можете просто сосредоточиться на том, что вы на самом деле делаете.
В дополнение к этому мы используем Node.js для использования этих libs/frameworks ... Как это приведет к использованию этих библиотек для новых разработчиков JS? JS предназначался для облегчения!
Как упомянуто выше, NodeJS - это универсальная платформа. Он может использоваться как сервер (Connect, Express), инструмент автоматизации (Grunt), система управления пакетами (с использованием NPM, Bower и т. Д.), Тестовая платформа (QUnit, Mocha), прокси, игровой сервер, бот-бот ,
И это выгодно, особенно разработчику JS, поскольку это невозможно в JS.
В JS уже есть проблема с избытком - слишком много активных JS-библиотек/фреймворков на выбор - по записи JS-библиотек большинство из них скоро станет неактивным. Есть слишком много вещей, чтобы искать, что часто приводит к множеству различных в приложении - управление зависимостями, маршрутизаторы, MVC, шаблонных, и т.д.
Ну, это хорошо, чтобы иметь богатый набор рамок. После изучения некоторых из них ваша работа будет сокращена наполовину. Разнообразие реализации также хорошо, для решения различных стилей кодирования и различных подходов к реализации. Некоторые библиотеки поднимаются с разных подходов, другие - от несовместимости и/или неполноты других.
Разработчики усердно работают над тем, чтобы облегчить жизнь другим разработчикам, нормализуя причуды JS (потому что поставщики браузеров просто не могут походить на правильные стандарты), и большинство из них выполняется добровольно, например, бесплатное пиво - Вы должны быть счастливы за это. Кроме того, никто не заставляет вас использовать его в любом случае.
Какие «экстремальные меры»? –
Я не использую Node.js и NPM с моими библиотеками JavaScript. Поэтому я утверждаю, что ваше утверждение является ложным. – Pointy
Я не получаю * компиляцию * части, вы имеете в виду coffeescript и аналогичный этому? Вы имели в виду компиляцию в этом смысле? – Joseph