Node.js
Оригинальный автор(ы) | Райан Даль |
---|---|
Разработчик(и) | Фонд OpenJS |
Первоначальный выпуск | 27 мая 2009 г [1] |
Стабильная версия | 22.0.0 [2] / 24 апреля 2024 г |
Репозиторий | |
Написано в | JavaScript , С++ , Питон , С |
Операционная система | z/OS , Linux , macOS , Microsoft Windows , SmartOS , FreeBSD , OpenBSD , IBM AIX [3] |
Тип | Среда выполнения |
Лицензия | МОЯ лицензия [4] [5] |
Веб-сайт | платеж |
Node.js — это кроссплатформенная , с открытым исходным кодом JavaScript среда выполнения которая может работать в Windows , Linux , Unix , macOS и других системах. Node.js работает на V8 движке JavaScript и выполняет код JavaScript вне веб-браузера .
Node.js позволяет разработчикам использовать JavaScript для написания инструментов командной строки и создания сценариев на стороне сервера . Возможность запуска кода JavaScript на сервере часто используется для создания динамического содержимого веб-страницы перед ее отправкой в веб-браузер пользователя. Следовательно, Node.js представляет собой парадигму «JavaScript повсюду», [6] унификация разработки веб-приложений вокруг одного языка программирования вместо использования разных языков для серверного и клиентского программирования.
Node.js имеет событийно-ориентированную архитектуру, поддерживающую асинхронный ввод-вывод . Эти варианты дизайна направлены на оптимизацию пропускной способности и масштабируемости в веб-приложениях с множеством операций ввода-вывода, а также в веб-приложениях реального времени (например, связи в реальном времени программах и браузерных играх ). [7]
Node.js Проект распределенной разработки ранее находился под управлением Node.js Foundation. [8] и теперь объединился с JS Foundation и образовал OpenJS Foundation . OpenJS Foundation поддерживается программой совместных проектов Linux Foundation . [9]
История [ править ]
Node.js был первоначально написан Райаном Далем в 2009 году. [10] примерно через 13 лет после появления первой серверной среды JavaScript — от Netscape . LiveWire Pro Web [11] Первоначальный выпуск поддерживал только Linux и Mac OS X. Его разработкой и обслуживанием руководил Даль, а позже спонсировал Joyent . [12]
Даль раскритиковал ограниченную способность HTTP-сервера Apache обрабатывать множество (более 10 000) одновременных соединений, а также доминирующую парадигму последовательного программирования, в которой приложения могли блокировать целые процессы или вызывать создание нескольких стеков выполнения для одновременных соединений. [13]
Даль продемонстрировал проект на первой европейской конференции JSConf 8 ноября 2009 года. [14] [15] [16] Node.js объединил в себе Google от V8 движок JavaScript , цикл событий и низкоуровневый ввода-вывода API . [17]
В январе 2010 года менеджер пакетов для среды Node.js был представлен под названием npm . [18] Менеджер пакетов позволяет программистам публиковать и делиться пакетами Node.js вместе с сопутствующим исходным кодом и предназначен для упрощения установки, обновления и удаления пакетов. [17]
В июне 2011 года Microsoft и Joyent реализовали собственную для Windows . версию Node.js [19] Первая сборка Node.js с поддержкой Windows была выпущена в июле 2011 года.
В январе 2012 года Даль передал управление проектом создателю NPM Исааку Шлютеру. [20] В январе 2014 года Шлютер объявил, что проект возглавит Тимоти Дж. Фонтейн. [21]
В декабре 2014 года Федор Индутный создал io.js, форк Node.js, созданный из-за недовольства управлением Joyent, в качестве альтернативы открытого управления с отдельным техническим комитетом. Цель заключалась в том, чтобы создать структуру, которая была бы более восприимчивой к вкладу сообщества, включая обновление io.js последними версиями движка JavaScript Google V8, что отличалось от подхода Node.js того времени. [22]
В феврале 2015 года было объявлено о создании Node.js Foundation, созданного для объединения Node.js и io.js под единым знаменем. [23] Слияние произошло в сентябре 2015 года: Node.js v0.12 и io.js v3.3 объединились в Node v4.0. [24] Это слияние привнесло в Node.js функции V8 ES6 и положило начало циклу выпуска долгосрочной поддержки. [25] К 2016 году веб-сайт io.js рекомендовал вернуться к Node.js и объявил о прекращении дальнейших выпусков io.js, что фактически положило конец форку и закрепило успех слияния. [26]
В 2019 году JS Foundation и Node.js Foundation объединились и образовали OpenJS Foundation .
6 сентября 2023 г. был выпущен Node.js 20.6.0. В обновлении добавлена встроенная поддержка .env
файлы, снятие флажков import.meta.resolve
, введение нового node:module
Регистр API для хуков настройки модуля и нового хука инициализации. Кроме того, перехватчик загрузки настройки модуля теперь поддерживает CommonJS, а надстройки Node.js C++ получили экспериментальную поддержку cppgc (Oilpan), библиотеки сбора мусора C++ для V8. [27]
Брендинг [ править ]
Логотип Node.js представляет собой зеленый шестиугольник с перекрывающимися полосами, что отражает кроссплатформенность среды выполнения. [28] Черепаха-ракета была выбрана официальным талисманом Node.js в феврале 2024 года по итогам конкурса дизайна. [29]
Обзор [ править ]
Node.js позволяет создавать веб-серверы и сетевые инструменты с использованием JavaScript и набора «модулей», которые обрабатывают различные основные функции. [14] [17] [30] [31] [32] Предоставляются модули для файловой системы ввода-вывода , работы в сети ( DNS , HTTP , TCP , TLS/SSL или UDP ), двоичных данных (буферов), криптографии функций , потоков данных и других основных функций. [17] [31] [33] Модули Node.js используют API, предназначенный для упрощения написания серверных приложений. [17] [31]
JavaScript — единственный язык, который Node.js поддерживает изначально, но компилируемых в JS . доступно множество языков, [34] В результате приложения Node.js можно писать на CoffeeScript , [35] Dart , TypeScript , ClojureScript и другие.
Node.js в основном используется для создания сетевых программ, таких как веб-серверы. [30] Наиболее существенное различие между Node.js и PHP заключается в том, что большинство функций PHP блокируются до завершения (команды выполняются только после завершения предыдущих команд), тогда как функции Node.js неблокируются (команды выполняются одновременно или даже параллельно ). [36] [37] [ неправильный синтез? ] и используйте обратные вызовы для сигнализации о завершении или сбое). [30]
Node.js официально поддерживается Linux , macOS , Microsoft Windows 8.1 и Server 2012 (и более поздних версий), [3] с поддержкой уровня 2 для SmartOS и IBM AIX и экспериментальной поддержкой FreeBSD . OpenBSD также работает, и доступны версии LTS для IBM i (AS/400). [38] Исходный код также может быть создан на основе аналогичных операционных систем, которые официально не поддерживаются, например NonStop OS. [39] и Unix- серверы.
Архитектура платформы [ править ]
Node.js позволяет разрабатывать быстрые веб-серверы на JavaScript с использованием событийно-ориентированного программирования . [17] Разработчики могут создавать масштабируемые серверы без использования потоков , используя упрощенную модель, которая использует обратные вызовы для сигнализации о завершении задачи. [17] [ нужна страница ] Node.js сочетает в себе простоту языка сценариев (JavaScript) с возможностями сетевого программирования Unix. [17]
Node.js был построен на базе JavaScript-движка Google V8, поскольку его исходный код был открыт под лицензией BSD , и он содержит комплексную поддержку фундаментальных протоколов, таких как HTTP , DNS и TCP . [14] Существующая популярность JavaScript сделала Node.js доступным для сообщества веб-разработчиков . [14]
Поддержка промышленности [ править ]
Для Node.js существуют тысячи библиотек с открытым исходным кодом, большинство из которых размещено на веб-сайте npm. Проводятся многочисленные конференции и мероприятия разработчиков, поддерживающие сообщество Node.js, включая NodeConf, Node Interactive и Node Summit, а также ряд региональных мероприятий.
Сообщество открытого исходного кода разработало веб-фреймворки для ускорения разработки приложений. К таким фреймворкам относятся Express.js , Socket.IO , Sails.js , Next.js и Meteor . [17] [40] Также были созданы различные пакеты для взаимодействия с другими языками или средами выполнения, такими как Microsoft .NET . [41]
Современные настольные IDE предоставляют функции редактирования и отладки специально для приложений Node.js. К таким IDE относятся Atom , Brackets , JetBrains WebStorm , [42] [43] Microsoft Visual Studio (с инструментами Node.js для Visual Studio, [44] или TypeScript с определениями узлов [45] [46] [47] [48] ), NetBeans , [49] Nodeclipse Энид Студия [50] ( на основе Eclipse ) и Visual Studio Code . [51] [52] Некоторые онлайн-IDE также поддерживают Node.js, например Codeanywhere , Eclipse Che , Cloud9 IDE и редактор визуального потока в Node-RED .
Node.js поддерживается на ряде платформ облачного хостинга, таких как Jelastic , Google Cloud Platform , AWS Elastic Beanstalk , Azure Web Apps и Joyent .
Релизы [ править ]
Выпускать [53] | Статус | Кодовое имя | Дата выпуска | Окончание технического обслуживания |
---|---|---|---|---|
0.10.x. | окончание срока службы. | 2013-03-11 | 2016-10-31 | |
0.12.x. | окончание срока службы. | 2015-02-06 | 2016-12-31 | |
4.x. | окончание срока службы. | Аргон [54] | 2015-09-08 | 2018-04-30 |
5.x. | окончание срока службы. | 2015-10-29 | 2016-06-30 | |
6.x. | окончание срока службы. | Бор [54] | 2016-04-26 | 2019-04-30 |
7.x. | окончание срока службы. | 2016-10-25 | 2017-06-30 | |
8.x. | окончание срока службы. | Углерод [54] | 2017-05-30 | 2019-12-31 |
9.x. | окончание срока службы. | 2017-10-01 | 2018-06-30 | |
10.x. | окончание срока службы. | Дубниум [54] | 2018-04-24 | 2021-04-30 |
11.x. | окончание срока службы. | 2018-10-23 | 2019-06-01 | |
12.x. | окончание срока службы. | Эрбий [54] | 2019-04-23 | 2022-04-30 |
13.x. | окончание срока службы. | 2019-10-22 | 2020-06-01 | |
14.x. | окончание срока службы. | Фермий [54] | 2020-04-21 | 2023-04-30 |
15.x. | окончание срока службы. | 2020-10-20 | 2021-06-01 | |
16.x. | окончание срока службы. | Галлий [54] | 2021-04-20 | 2023-09-11 [55] |
17.x. | окончание срока службы. | 2021-10-19 | 2022-06-01 | |
18.x. | Maintenance LTS. | Водород [54] | 2022-04-19 | 2025-04-30 |
19.x. | окончание срока службы. | 2022-10-18 | 2023-06-01 | |
20.x. | Active LTS. | Железо [56] | 2023-04-18 | 2026-04-30 |
21.x. | Техническое обслуживание | [54] | 2023-10-17 | 2024-06-01 |
22.x. | Текущая | Йод [56] [54] | 2024-04-24 | 2027-04-30 |
23.x | Планируется | [54] | 2024-10-14 | 2025-06-01 |
24.x | Планируется | Криптон [56] | 2025-04-22 | 2028-04-30 |
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Будущий выпуск |
Новые основные выпуски Node.js удаляются из основной ветки GitHub каждые шесть месяцев. Версии с четными номерами вырезаются в апреле, а версии с нечетными номерами — в октябре. Когда выпускается новая нечетная версия, предыдущая четная версия переходит на долгосрочную поддержку (LTS), что дает этой версии 18 месяцев активной поддержки с даты ее обозначения LTS. По истечении этих 18 месяцев версия LTS получает дополнительные 12 месяцев технической поддержки. Активная версия получает непрерывные резервные копии изменений через несколько недель после их появления в текущей версии. В служебную версию входят только критические исправления и обновления документации. [54] Рабочая группа LTS управляет стратегией и политикой в сотрудничестве с Техническим руководящим комитетом Node.js Foundation.
Технические подробности [ править ]
Node.js — это среда выполнения JavaScript, которая обрабатывает входящие запросы в цикле, называемом циклом событий .
Внутренности [ править ]
Node.js использует libuv для обработки асинхронных событий. Libuv — это уровень абстракции для функциональности сети и файловой системы как в Windows, так и в системах на базе POSIX, таких как Linux, macOS , OSS на NonStop и Unix. Node.js использует nghttp2 для поддержки HTTP. Начиная с версии 20, Node.js использует библиотеку ada , которая обеспечивает актуальное WHATWG соответствие URL-адресов . Начиная с версии 19.5 , Node.js использует библиотеку simdutf для быстрой проверки и перекодирования Unicode. Начиная с версии 21.3 , Node.js использует библиотеку simdjson для быстрого анализа JSON.
Нарезка [ править ]
Node.js работает на основе однопоточного цикла событий , используя неблокирующие вызовы ввода-вывода, что позволяет ему поддерживать десятки тысяч одновременных соединений без затрат на переключение контекста потока . [57] Схема совместного использования одного потока всеми запросами, использующими шаблон наблюдателя, предназначена для создания высококонкурентных приложений, где любая функция, выполняющая ввод-вывод, должна использовать обратный вызов . Чтобы обеспечить однопоточный цикл событий, Node.js использует библиотеку libuv , которая, в свою очередь, использует пул потоков фиксированного размера, обрабатывающий некоторые неблокирующие асинхронные операции ввода-вывода. [7]
Пул потоков отвечает за выполнение параллельных задач в Node.js. Вызов функции основного потока отправляет задачи в общую очередь задач, которые потоки в пуле потоков извлекают и выполняют. Неблокирующие по своей сути системные функции, такие как сетевые функции, преобразуются в неблокирующие сокеты на стороне ядра, в то время как по своей сути блокирующие системные функции, такие как файловый ввод-вывод, выполняются блокирующим образом в своих собственных потоках. Когда поток в пуле потоков завершает задачу, он сообщает об этом основному потоку, который, в свою очередь, просыпается и выполняет зарегистрированный обратный вызов.
Недостатком этого однопоточного подхода является то, что Node.js не допускает вертикального масштабирования за счет увеличения количества ядер ЦП машины, на которой он работает, без использования дополнительного модуля, такого как кластер. [36] Менеджер процессов StrongLoop, [58] или пм2. [59] Однако разработчики могут увеличить количество потоков по умолчанию в пуле потоков libuv. Серверная операционная система (ОС) , скорее всего, распределит эти потоки по нескольким ядрам. [60] Другая проблема заключается в том, что длительные вычисления и другие задачи, связанные с процессором, замораживают весь цикл событий до завершения. [ нужна ссылка ]
V8 [ править ]
V8 — это механизм выполнения JavaScript, изначально созданный для Google Chrome . Затем в 2008 году Google открыл его исходный код. Написанный на C++ , V8 компилирует исходный код JavaScript в собственный машинный код во время выполнения . [7] По состоянию на 2016 год в него также входит Ignition, интерпретатор байт-кода .
Управление пакетами [ править ]
npm — это предустановленный менеджер пакетов для серверной платформы Node.js. Он устанавливает программы Node.js из реестра npm , организуя установку и управление сторонними программами Node.js.
Цикл событий [ править ]
Node.js регистрируется в операционной системе, поэтому ОС уведомляет ее о событиях асинхронного ввода-вывода, таких как новые соединения. В среде выполнения Node.js события запускают обратные вызовы, и каждое соединение обрабатывается как небольшая часть кучи . Традиционно каждое соединение обрабатывалось относительно тяжелыми процессами или потоками ОС. Node.js использует цикл событий для одновременного ввода-вывода вместо процессов или потоков. [61] В отличие от других серверов, управляемых событиями, [ который? ] Цикл событий Node.js не нужно вызывать явно. Вместо этого определяются обратные вызовы, и сервер автоматически входит в цикл событий в конце определения обратного вызова. Node.js выходит из цикла событий, когда больше не требуется выполнять обратные вызовы.
Веб-сборка [ править ]
Node.js поддерживает WebAssembly , а начиная с Node 14 имеет экспериментальную поддержку WASI , системного интерфейса WebAssembly.
Родные привязки [ править ]
Node.js предоставляет способ создания «надстроек» через API на основе C , называемый N-API, который можно использовать для создания загружаемых (импортируемых) данных. .node
модули из исходного кода, написанного на C/C++. [62] Модули можно напрямую загружать в память и выполнять из среды JS как простые модули CommonJS. Реализация N-API опирается на внутренние объекты C/C++ Node.js и V8, требующие от пользователей импортировать ( #include ) определенные заголовки Node.js в их собственный исходный код. [62]
Поскольку API Node.js подвержен критическим изменениям на двоичном уровне, для правильной работы модули необходимо создавать и поставлять для конкретных версий Node.js. Чтобы решить эту проблему, третьи стороны внедрили оболочки С/С++ с открытым исходным кодом поверх API, что частично решает проблему. Они упрощают интерфейсы, но в качестве побочного эффекта могут также привести к усложнению, с которым приходится иметь дело сопровождающим. Несмотря на то, что основные функции Node.js находятся во встроенной библиотеке JavaScript, модули, написанные на C++, можно использовать для расширения возможностей и повышения производительности приложений.
Для создания таких модулей необходимо иметь соответствующий компилятор C++ и необходимые заголовки (последние обычно поставляются с самим Node.js), например, gcc , clang или MSVC++ .
N-API аналогичен Java Native Interface .
Управление проектом [ править ]
В 2015 году различные ветви большого сообщества Node.js начали работать в рамках нейтрального к поставщикам Node.js Foundation. Заявленная цель организации — «обеспечить широкое внедрение и помочь ускорить разработку Node.js и других связанных модулей с помощью модели открытого управления, которая поощряет участие, технический вклад и основу для долгосрочного управления со стороны экосистемы, инвестирующей в Node». успех .js». [63]
Технический руководящий комитет Node.js Foundation (TSC) является техническим руководящим органом Node.js Foundation. TSC отвечает за основной репозиторий Node.js, а также за зависимые и смежные проекты. Обычно TSC делегирует управление этими проектами рабочим группам или комитетам. [64] Группа LTS, которая управляет выпусками с долгосрочной поддержкой, является одной из таких групп. Другие текущие группы включают «Веб-сайт», «Потоки», «Сборка», «Диагностика», «i18n», «Евангелизация», «Докер», «Addon API», «Бенчмаркинг», «Посмертное исследование», «Международное тестирование», «Документация» и «Тестирование». [65]
В августе 2017 года треть членов TSC ушла из-за спора, связанного с кодексом поведения проекта. [66]
Имя пользователя | Полное имя |
---|---|
ой95 | Антуан дю Амель |
апапировский | Anatoli Papirovski |
Бенджамин | Бенджамин Грюнбаум |
МостAR | Рубен Бриджуотер |
Джеффри Бут | Джеффри Бут |
Гиришпунатил | Гириш Пунатил |
Яснелл | Джеймс М. Снелл |
Джойичунг | Джойи Чунг |
легендекас | Чэнчжун Ву |
Марко-Ипполито | Марко Ипполито |
Макколлина | Маттео Коллина |
Мдоусон | Майкл Доусон |
МоЛоу | Моше Атлоу |
РафаэльGSS | Рафаэль Гонзага |
Ришарлау | Ричард Лау |
Ронаг | Роберт Надь |
Руядорно | Руй Адорно |
СёгунПанда | Паоло Инсонья |
таргос | Майкл Зассо |
Тниссен | Тобиас Ниссен |
Ссылки [ править ]
- ^ «архив node-v0.x на GitHub» . Гитхаб . Проверено 2 августа 2014 г.
- ^ «Выпуск 22.0.0» . 24 апреля 2024 г.
- ^ Jump up to: Перейти обратно: а б "nodejs/узел" . Гитхаб . 13 апреля 2022 г.
- ^ «узел/ЛИЦЕНЗИЯ у мастера» . Гитхаб . Фонд Node.js. 17 сентября 2018 года . Проверено 17 сентября 2018 г.
- ^ «Лицензия MIT» . Инициатива открытого исходного кода . 17 сентября 2018 года . Проверено 17 сентября 2018 г.
- ^ gcuomo (24 октября 2013 г.). «JavaScript повсюду и три амиго (в дикую СИНЮЮ природу!)» . www.ibm.com . Архивировано из оригинала 14 ноября 2013 года . Проверено 24 октября 2013 г.
- ^ Jump up to: Перейти обратно: а б с Лоран Орсини (7 ноября 2013 г.). «Что нужно знать о Node.js» . readwrite.com . Проверено 6 февраля 2022 г.
- ^ «Фонд Node.js — Node.js» . nodejs.org . Проверено 4 июля 2015 г.
- ^ «Совместные проекты Linux Foundation» . linuxfoundation.org . 4 июля 2015 года . Проверено 4 июля 2015 г.
- ^ «О Node.js и почему вам следует добавить Node.js в свой набор навыков?» . Обучение.com . 11 сентября 2016 года. Архивировано из оригинала 1 апреля 2017 года . Проверено 23 октября 2016 г.
- ^ Сотрудники CNET News (15 октября 1996 г.). «Netscape открывает интранет-атаку» . CNET . Проверено 20 апреля 2017 г.
- ^ Райан Даль (9 ноября 2010 г.). «Джойент и Нод» . Группы Google . Проверено 5 февраля 2015 г.
- ^ Гарбар, Дмитрий. «PHP 7 против Node.js? Они могут быть партнерами, а не конкурентами разработчика!» . belitsoft.com . Проверено 21 декабря 2016 г.
- ^ Jump up to: Перейти обратно: а б с д Sams освоит Node.js за 24 часа , Sams Publishing, 5 сентября 2012 г.
- ^ Убл, Мальта (9 сентября 2009 г.). «JSConf.eu 2009, Берлин, Германия» . www.jsconf.eu . Проверено 9 сентября 2009 г.
- ^ «Райан Даль: Оригинальная презентация Node.js» . Архивировано из оригинала 15 декабря 2021 года – на сайте www.youtube.com.
- ^ Jump up to: Перейти обратно: а б с д и ж г час я Профессиональный Node.js: создание масштабируемого программного обеспечения на основе JavaScript , John Wiley & Sons, 1 октября 2012 г.
- ^ «Самые ранние выпуски npm» . Гитхаб . Проверено 27 июля 2016 г.
- ^ Райндаль (23 июня 2011 г.). «Портирование Node на Windows с помощью Microsoft» . nodejs.org . Проверено 17 апреля 2016 г.
- ^ Даль, Райан. «Новый привратник» . Проверено 26 октября 2013 г.
- ^ Шлютер, Исаак (15 января 2014 г.). «Следующий этап Node.js» . Проверено 21 января 2014 г.
- ^ Вопросы и ответы: Почему io.js решил создать форк Node.js , InfoWorld Tech Watch
- ^ «Фонд Node.js развивает сотрудничество с сообществом, объявляет новых участников и ратифицирует техническое управление» . Архивировано из оригинала 24 июня 2015 года . Проверено 4 июля 2015 г.
- ^ «Node.js Foundation объединяет Node.js и io.js в единую кодовую базу в новой версии» . nodejs.org . 14 сентября 2015 года . Проверено 28 января 2016 г.
- ^ «io.js и Node.js сливаются» . Medium.com . 19 мая 2015 года . Проверено 27 июня 2015 г.
- ^ Io.js, JavaScript I/O , «io.js снова объединился с проектом Node.js. Больше выпусков io.js не будет. Все функции io.js доступны в Node.js. v4 и выше».
- ^ «Предыдущие выпуски» . Нод.js.
- ^ «Бренд-гид» (PDF) . Нод.js. Фонд OpenJS . Проверено 22 марта 2024 г.
- ^ «Node.JS на X: «Познакомьтесь с Rocket Turtle, есть много способов 👋» « . Проверено 22 марта 2024 г.
- ^ Jump up to: Перейти обратно: а б с Node.js для разработчиков PHP , O'Reilly Media, Inc., 2013 г.
- ^ Jump up to: Перейти обратно: а б с Node.js Essentials , Packt Publishing, 10 ноября 2015 г.
- ^ Smashing Node.js: JavaScript Everywhere , John Wiley & Sons, 14 августа 2012 г.
- ^ Модули , Веб-сайт Nodejs
- ^ «Список языков, компилируемых в JS» . Гитхаб .
- ^ CoffeeScript на Node.js. O'Reilly Media, Inc., 15 апреля 2013 г.. ISBN. 9781449316846 . Проверено 17 мая 2015 г.
- ^ Jump up to: Перейти обратно: а б «Кластерный модуль Node.js» . nodejs.org . Проверено 19 октября 2017 г.
- ^ «Модуль child_process Node.js» . nodejs.org . Проверено 19 октября 2017 г.
- ^ Фонд, Node js. «Установка Node.js через менеджер пакетов» . Нод.js. Проверено 19 мая 2019 г.
- ^ «bomBora — Node.js для NonStop» . infrasoft.com.au . Инфрасофт. Архивировано из оригинала 11 марта 2018 года . Проверено 14 августа 2015 г.
- ^ Руководство по Express.js: Полная книга по Express.js , Азат Мардан, 28 мая 2014 г.
- ^ Edge.js устраняет разрыв между Node.js и .NET , TechRepublic, Тони Паттон, 1 июля 2014 г.
- ^ Node.js , WebStorm поддерживает интеграцию со средой выполнения Node.js, Справка WebStorm
- ^ Запуск и отладка Node.js , Справка WebStorm
- ^ «Инструменты Node.js для Visual Studio» . microsoft.com . Проверено 1 февраля 2016 года .
- ^ soywiz/typescript-node-definitions Типизация TypeScript для некоторых популярных модулей node.js , GitHub
- ^ Определеннотипизировано , GitHub
- ^ «Репозиторий высококачественных определений типов TypeScript» . определенноtyped.org . Архивировано из оригинала 3 февраля 2016 года.
- ^ ImageBoard, приложение Node.js + Express + MongoDB, созданное с использованием TypeScript на сервере. Архивировано 18 мая 2019 г. на Wayback Machine , примеры TypeScript.
- ^ Криль, Пол (10 ноября 2015 г.). «Node.js занимает центральное место в NetBeans 8.1» . infoworld.com . Инфомир . Проверено 10 ноября 2015 г.
- ^ Nodeclipse, Enide — разработка Node.JS в Eclipse , веб-сайт Nodeclipse
- ^ Привет, код Visual Studio (с NodeJS) , канал 9, Microsoft
- ^ Приложения Node.js с кодом VS , код Visual Studio
- ^ «Выпуски» . Нод.js. 23 августа 2023 г.
- ^ Jump up to: Перейти обратно: а б с д и ж г час я дж к л «nodejs/Выпуск» . Гитхаб . Проверено 3 мая 2018 г.
- ^ Перенос даты окончания срока службы Node.js 16 , веб-сайт Node.js.
- ^ Jump up to: Перейти обратно: а б с "Node.JS CODENAMES.md" . Гитхаб . Проверено 6 сентября 2023 г.
- ^ «Node.js с 1 млн одновременных подключений!» . блог каустика . 19 августа 2012 г.
- ^ «Менеджер процессов StrongLoop» . сильный-pm.io .
- ^ «GitHub — Unitech/pm2: менеджер процессов производства приложений Node.js со встроенным балансировщиком нагрузки» . Гитхаб . 12 июня 2021 г.
- ^ Александр Касюк (22 апреля 2015 г.). «О проблемах с потоками в node.js — Future Processing» .
- ^ О Node.js , Веб-сайт Node.js
- ^ Jump up to: Перейти обратно: а б «Дополнения C++ | Документация Node.js v14.12.0» . nodejs.org . Проверено 26 сентября 2020 г.
- ^ Фонд Node.js. «Фонд Node.js | Node.js» . nodejs.org . Проверено 8 марта 2017 г.
- ^ «нодэйс/TSC» . Гитхаб . Проверено 8 марта 2017 г.
- ^ Фонд Node.js. «Рабочие группы | Node.js» . nodejs.org . Архивировано из оригинала 27 февраля 2017 года . Проверено 8 марта 2017 г.
- ^ Уиттакер, Зак, После распада управления лидеры Node.js борются за его выживание , ZDNet, 25 августа 2017 г.
- ^ "tsc-голосование-члены" . Гитхаб.com . 16 мая 2024 г.
Дальнейшее чтение [ править ]
- Хьюз-Краучер, Том; Уилсон, Майк (апрель 2012 г.), Начало работы с Node.js , O'Reilly Media , ISBN 978-1-4493-9858-3
- Орнбо, Джордж (сентябрь 2012 г.), Sams Teach Yourself Node.js за 24 часа , SAMS Publishing , ISBN 978-0-672-33595-2
- Тейшейра, Педро (октябрь 2012 г.), Professional Node.js , John Wiley & Sons , ISBN 978-1-118-22754-1
- Рэндал Л. Шварц и Аарон Ньюкомб (9 января 2013 г.). «Эпизод 237: Node.js» . twit.tv/show/floss-weekly (подкаст). ТВиТ.tv. Событие происходит в 1:08:13 . Проверено 9 января 2013 г.
- Гакенхаймер, Кори (октябрь 2013 г.), Рецепты Node.js: подход «проблема-решение» , Apress , ISBN 978-1-4302-6058-5