Node.js — это основанная на событиях, неблокирующая, асинхронная среда выполнения ввода-вывода, использующая движок Google V8 JavaScript и библиотеку libuv. Он используется для разработки приложений, которые интенсивно используют возможность запуска JavaScript как на стороне клиента, так и на стороне сервера и, следовательно, выигрывают от возможности повторного использования кода и отсутствия переключения контекста.
Node.js- это неблокирующая асинхронная среда ввода-вывода (ввода / вывода), основанная на событиях, в которой используется V8 JavaScript Engine.
node.js, обычно называемый просто Node, часто используется для разработки приложений, которые зависят от возможности запускаjavascript как на стороне клиента, так и на стороне сервера. Запуск одного и того же языка как на клиенте, так и на сервере выигрывает от улучшенной возможности повторного использования кода и меньшего переключения контекста.
Примечательной особенностью node.jsявляется то, что он неблокирует: если одна задача останавливается или приостанавливается для операции ввода-вывода, другая может взять на себя ее выполнение. праздный. Это обеспечивает высокую эффективность, поскольку программе в целом никогда не приходится простаивать и ждать завершения одной задачи. Библиотеки, такие как async
, используют эту возможность. Дополнительную информацию можно найтиздесь.
Также можно использовать зрелые JavaScript-фреймворки, такие как YUIи jQueryдля управления DOM на стороне сервера в node.js.
Чтобы еще больше упростить разработку сложного JavaScript, Node.jsподдерживает Стандарт CommonJS, обеспечивающий модульную разработку и распространение программного обеспечения в пакетах с помощью менеджера пакетов узлов (NPM).
Загрузите node.js:
Приложения, которые могут быть написаны с использованием Node.js, включают, но не ограничиваются:
- Статические файловые серверы
- Фреймворки веб-приложений
- Программное обеспечение для обмена сообщениями
- Серверы для многопользовательских игр HTML5 или потокового аудио / видео
- Приложения в реальном времени
- Кроссплатформенные программы
Задавая вопросы о Node.js, вы должны:
- Обязательно ознакомьтесь с официальной документацией по API, прежде чем задавать вопрос, ваш вопрос может быть тривиальным.
- Выделите проблему и воспроизведите ее, используя как можно меньше кода.
- Если вопрос не имеет ничего общего с node.js, рассмотрите вопрос как javascriptвопрос вместо.
- Укажите, какую версию Node.js вы используете. В случае сомнений используйте
node -v
илиnode --version
. - Обязательно используйте только тег node.js, поскольку nodeявляется неоднозначным.
Интересные вопросы и ответы
Полезные ссылки
- Официальная документация API
- Официальный аккаунт GitHub
- Официальная учетная запись GitHub (node-v0.x-архив)
- Установка без судо
- Установка Node.js (howtonode.org)
- Отладка Node.js с помощью узла-инспектора
- # node.js IRC-канал для получения помощи
- Страница Википедии
Учебники, руководства и книги
- Nots Tuts(видеоуроки)
- Node Beginner
- Приложение Node.js с использованием Windows Azure
- Руководство по узлу (один источник для API, руководство по Node.js и справочник JavaScript по Mozilla. Примеры кода приведены в Cloud 9 IDE)
- NodeCasts(бесплатные скринкасты)
- Начало работы с Node.js на Heroku
- Обработка ошибок в Node.js
- NodeSchool.io
- Руководство по потоку(Как писать программы для узлов с потоками)
- Фиолетовый - мастер-класс Node.js
- Learn Node
- Лучшие практики NodeJS
Беседы, презентации и подкасты на Node.js
- Интервью с Райаном Далем @ QCon San Francisco 2010 (ноябрь 2010)
- JavaScript на сервере @ GoogleTechTalks (июль 2010 г.)
- NodeUp: подкаст Node.js
- NodeConf 2015
Бесплатные Node.js Книги и Ресурсы
- Узел: работает и работает
- Mixu's Node Book
- Основы Javascript и Node
- Узел Еженедельно
- Красноречивый JavaScript
Комната чата и список рассылки
- Поговорите о Node.js с другими пользователями переполнения стека здесь
- Список рассылки
Логирование
- pino- чрезвычайно быстрый регистратор, вдохновленный Bunyan.
- winston- библиотека асинхронного журналирования с несколькими транспортными системами.
- console-log-level- самый простой регистратор, который можно себе представить, с поддержкой уровней журнала и пользовательских префиксов.
- раскадровка- сквозные, иерархические, красочные записи и истории в реальном времени.
- signale- взломанный консольный регистратор с прекрасным выводом.
Официальный логотип
Node.jsявляется защищена авторским правами Фондом Openjs