Як почати роботу з Node.js

Чи є якісь хороші ресурси для початку роботи з Node.JS? Якісь хороші навчальні посібники, блоги або книги?

Звичайно, я відвідував його офіційний сайт http://nodejs.org/, але я не думаю, що документація, яку вони мають, є гарною відправною точкою.

Підручники

Коментарі (27)

Спочатку вивчіть основні концепції Node.js: * [Вам потрібно зрозуміти, що Node.js підтримує синхронний стиль програмування.

  • Ви захочете зрозуміти асинхронний стиль кодування, який підтримує Node.js.
  • Async != concurrent. Розуміння циклу обробки подій Node.js!
  • Node.js використовує CommonJS-стиль require() для завантаження коду; можливо, це трохи відрізняється від того, до чого ви звикли.
  • Ознайомитися зі стандартною бібліотекою Node.js. Після цього, ви захочете побачити, що може запропонувати спільнота: * [Ознайомтеся зі стандартом Node.js Золотим стандартом для управління пакетами Node.js є NPM.
  • Це інструмент командного рядка для управління залежностями вашого проекту.
  • Переконайтеся, що ви розумієте, як Node.js і NPM взаємодіють з вашим проектом через папку node_modules і package.json.
  • NPM - це також реєстр практично всіх пакетів Node.js Нарешті, ви захочете дізнатися, які найпопулярніші пакети для різних завдань:. **Корисні інструменти для кожного проекту
  • Underscore містить майже всі основні утиліти, які вам потрібні.
  • Lo-Dash - клон Underscore, який має на меті бути швидшим, більш настроюваним і має досить багато функцій, яких немає у Underscore. Певні його версії можна використовувати як випадаючу заміну underscore.
  • TypeScript робить JavaScript значно зручнішим для сприйняття, а також захищає вас від неприємностей!
  • JSHint - інструмент для перевірки коду, який заощадить вам купу часу на пошук дурних помилок. Знайдіть плагін для вашого текстового редактора, який буде автоматично запускати його на вашому коді. **Тестування модулів
  • Mocha - популярний фреймворк для тестування.
  • Vows - фантастичний погляд на асинхронне тестування, хоча і дещо застарілий.
  • Expresso - більш традиційний фреймворк для модульного тестування.
  • node-unit - ще один відносно традиційний фреймворк для модульного тестування.
  • AVA - новий тестовий запускник з вбудованим Babel, який виконує тести паралельно. Веб-фреймворки:
  • Express.js - на сьогоднішній день найпопулярніший фреймворк.
  • Koa - новий веб-фреймворк, розроблений командою, що стоїть за Express.js, який має на меті стати меншою, виразнішою та надійнішою основою для веб-додатків та API.
  • sails.js найпопулярніший MVC фреймворк для Node.js, заснований на express. Він розроблений для емуляції знайомого патерну MVC фреймворків на кшталт Ruby on Rails, але з підтримкою вимог сучасних додатків: API, керованих даними, з масштабованою, сервіс-орієнтованою архітектурою.
  • Meteor об'єднує jQuery, Handlebars, Node.js, WebSocket, MongoDB та DDP і сприяє конвенції над конфігурацією, не будучи клоном Ruby on Rails.
  • Tower (застаріла) - абстракція вершини Express.js, яка має на меті бути клоном Ruby on Rails.
  • Geddy - ще один погляд на веб-фреймворки.
  • RailwayJS - веб-фреймворк MVC, натхненний Ruby on Rails.
  • Sleek.js - простий веб-фреймворк, побудований на Express.js.
  • Hapi - конфігураційно-орієнтований фреймворк з вбудованою підтримкою валідації вводу, кешування, аутентифікації тощо.
  • Trails - сучасний фреймворк для створення веб-додатків. Він спирається на родовід Rails та Grails, щоб прискорити розробку, дотримуючись прямолінійної, заснованої на конвенціях, філософії проектування, керованої API.
  • Danf - повностековий ООП фреймворк, що надає багато можливостей для створення масштабованих, підтримуваних, тестуємих та продуктивних додатків і дозволяє кодувати однаково як на стороні сервера (Node.js), так і на стороні клієнта (браузера).
  • Derbyjs - це реактивний повностековий фреймворк JavaScript. Вони давно використовують такі патерни, як реактивне програмування та ізоморфний JavaScript.
  • Loopback.io - потужний фреймворк Node.js для створення API та легкого підключення до внутрішніх джерел даних. Він має Angular.js SDK та надає SDK для iOS та Android. **Інструменти для веб-фреймворків
  • Jade - це HAML/Slim світу Node.js
  • EJS - більш традиційна мова шаблонів.
  • Не забувайте про метод Підкреслити шаблон! **Робота з мережею
  • Connect - це Rack або WSGI світу Node.js.
  • Request - дуже популярна бібліотека HTTP-запитів.
  • socket.io - зручна для побудови WebSocket серверів. Взаємодія з командним рядком:
  • minimist - просто розбір аргументів командного рядка.
  • Yargs - потужна бібліотека для розбору аргументів командного рядка.
  • Commander.js - повне рішення для побудови одноразових додатків командного рядка.
  • Vorpal.js - фреймворк для побудови зрілих, імерсивних додатків командного рядка.
  • Chalk - робить ваш CLI-вивід красивим. Робота з потоками:.
  • mississipi - все, чого вам бракує в потоках.
  • https://github.com/calvinmetcalf/streams-a-love-story
  • http://maxogden.com/node-streams.html
  • https://github.com/substack/stream-handbook
  • [Як потоки допомагають підвищити продуктивність Node.js](https://www.youtube.com/watch?v=QgEuZ52OZtU)
Коментарі (9)

Використовуй джерело, Люк.

Ні, але якщо серйозно, я виявив, що збірка Node.js з вихідного коду, запуск тестів і перегляд бенчмарків дійсно направили мене на правильний шлях. Звідти, файли .js в каталозі lib є хорошим місцем для пошуку, особливо файл http.js.

Оновлення: Я писав цю відповідь більше року тому, і з тих пір відбувся вибух в кількості чудових ресурсів, доступних для людей, які вивчають Node.js. Хоча я все ще вважаю, що занурення у вихідний код варто, я думаю, що зараз є кращі способи почати роботу. Я б порадив деякі книги по Node.js, які починають виходити.

Коментарі (2)