Node і npm, webreference

Введення в Node

Існує досить документації, в якій розкривається питання «Чому Node?». Але що для мене дійсно важливіше, це не де Node знаходиться сьогодні, а де він буде завтра. Без сумніву, співтовариство Rails принесло багато до столу, але всі ці чудові ідеї складно проковтнути, тому що вони виявилися замкнені всередині Ruby. Яким би приголомшливим ні Ruby, не кожен бажає стати розробником на Ruby.

Мені особливо подобається ця цитата зі статті Томіслава Капана «На якого дідька я використовую Node.js? Введення на прикладах ».

варто відзначити, що Райан Дав, творець Node.js, «натхненний такими додатками, як Gmail», був націлений на створення сайтів з push-технологією, що працюють в реальному часі. У Node.js він дав розробникам інструмент, заснований на принципі асинхронного введення-виведення.

установка Node

Звичайно, щоб створити і запустити Node-додаток, вам потрібен інсталятор Node, скачати і запустити його можна з цього сайту.

gist ілюструє ряд способів установки Node.

У статті висловлюється особиста думка проти використання Homebrew. Homebrew працював у мене добре, але моя думка може не збігатися з вашим.

Node Package Manager (npm)

npm - це менеджер пакетів Node.js. Як має на увазі назва, ви можете використовувати його для установки програм для Node. Крім того, якщо ви застосовуєте npm в розробці, то він спрощує визначення залежностей і зв'язків між ними.

Залежно від процесу установки, npm може бути встановлений, а може бути і немає. Для перевірки просто запустіть:

Якщо npm не встановлено, виконайте наступне:

npm - менеджер пакетів для Node, так що ви не можете використовувати менеджер пакетів для установки менеджера пакетів.

Використання npm

Тепер, коли npm встановлений, всі зареєстровані пакети є просто командою в консолі. Для базової установки пакета виконайте:

Таким методом буде встановлений пакет в папку node_modules щодо вашого проекту. Часом вам буде потрібно встановити бібліотеки глобально, щоб ви могли отримати до них доступ з коду будь-якої програми, не обов'язково вимагаючи їх як залежність.

Щоб зробити це, вам потрібно додати прапор -g в процесі установки:

Залежно від того, як Node.js встановлений у вашій системі, у вас може не виявитися доступу для установки глобального пакету. Щоб обійти це, просто додайте команду sudo на початку:

Використання npm з проектом

Найбільш поширеним прикладом використання npm є підтримка маніфесту залежностей для вашого проекту. Все це зберігається в файлі package.json.

Ви можете створити цей файл самостійно, хоча також є методи згенерувати цей файл. У будь-якій папці просто запустіть npm init і в консолі ви пройдете через ряд питань, в результаті отримаєте щось на кшталт такого:

Якщо у вашому проекті вже міститься package.json, додати в нього пакет дуже легко за допомогою npm install. Просто включите прапор --save в команду в такий спосіб:

Додавання Grunt в проект оновить package.json, додавши об'єкт dependencies в файл:

На додаток до цього, якщо ви хочете вказати залежність тільки для розробки, а не для робочого проекту, то передайте прапор -dev:

Додавши Gulp як залежність для розробки, в файлі package.json з'явиться об'єкт devDependencies:

Дізнайтеся більше про npm

npm дивно складна утиліта, коли справа доходить до управління пакетами. Дивіться цю шпаргалку по npm для отримання додаткової докладної інформації.

Дізнайтеся більше про package.json

package.json містить багато особливостей. Щоб дізнатися більше про те, як це все працює, відвідайте інтерактивний підручник по package.json - дивовижний інструмент для навчання.

підтримка залежностей

На відміну від інших менеджерів пакетів, npm встановлює бібліотеки безпосередньо в кореневу папку вашого проекту. Без зайвих кроків ці бібліотеки легко коммітов в вашу систему контролю версій.

Здебільшого ви, ймовірно, не хочете цього робити. Система версій підтримується через файл package.json і вам в дійсності ніколи не доведеться звертатися до пакетів безпосередньо і редагувати код.

Використання .gitignore

Щоб захистити бібліотеки від вашої системи контролю версій, додайте наступні рядки в файл .gitignore.

отримання залежностей

Файл package.json підтримує залежності вашого застосування і вам не треба коммітов залежність свого сховище на Git. Тим, хто клонує свій проект, потрібно задати залежності. Їх установка дуже проста:

Після виконання цієї команди в консолі ви побачите завантаження пакетів з Інтернету!