Node.js является открытым исходным кодом , кросс-платформенный , фоновым JavaScript среда выполнения , которая работает на двигатель V8 и выполняет код JavaScript вне веб - браузера . Node.js позволяет разработчикам использовать JavaScript для написания инструментов командной строки и для создания сценариев на стороне сервера - запуска сценариев на стороне сервера для создания динамического содержимого веб-страницы перед отправкой страницы в веб-браузер пользователя. Следовательно, Node.js представляет собой парадигму «JavaScript везде», [6] объединяющую веб-приложение разработка на основе единого языка программирования, а не разных языков для серверных и клиентских скриптов.
Автор (ы) оригинала | Райан Даль |
---|---|
Разработчики) | Фонд OpenJS |
Первый выпуск | 27 мая 2009 г . [1] |
Стабильный выпуск | 16.2.0 [2] / 19 мая 2021 г . |
Репозиторий | |
Написано в | C , C ++ , JavaScript |
Операционная система | z / OS , Linux , macOS , Microsoft Windows , SmartOS , FreeBSD , OpenBSD , IBM AIX [3] |
Тип | Среда выполнения |
Лицензия | Лицензия MIT [4] [5] |
Веб-сайт | nodejs |
Хотя .js
это стандартное расширение имени файла для кода JavaScript, имя «Node.js» не относится к конкретному файлу в этом контексте, а является просто названием продукта. Node.js имеет архитектуру, управляемую событиями, с возможностью асинхронного ввода-вывода . Эти варианты дизайна направлены на оптимизацию пропускной способности и масштабируемость в веб-приложениях с множеством операций ввода / вывода, а также для веб- приложений в реальном времени (например, коммуникационных программ в реальном времени и браузерных игр ). [7]
Проект распределенной разработки Node.js ранее находился под управлением Node.js Foundation, [8] и теперь слился с JS Foundation, чтобы сформировать OpenJS Foundation , чему способствует программа совместных проектов Linux Foundation . [9]
Корпоративные пользователи программного обеспечения Node.js включают GoDaddy , [10] Groupon , [11] IBM , [12] LinkedIn , [13] [14] Microsoft , [15] [16] Netflix , [17] PayPal , [18] [ 19] Ракутен , SAP , [20] Voxer , [21] Walmart , [22] Yahoo! , [23] и Amazon Web Services . [24]
История
Первоначально Node.js был написан Райаном Далем в 2009 году [25], примерно через тринадцать лет после появления первой серверной среды JavaScript, Netscape LiveWire Pro Web. [26] Первоначальный выпуск поддерживал только Linux и Mac OS X. Его разработкой и сопровождением руководил Дал, а позже спонсировал Joyent . [27]
Даль подверг критике ограниченные возможности самого популярного веб-сервера в 2009 году, HTTP-сервера Apache , для обработки большого количества одновременных подключений (до 10 000 и более) и наиболее распространенный способ создания кода (последовательное программирование), когда код либо блокирует весь процесс или подразумевается несколько стеков выполнения в случае одновременных подключений. [28]
Даль продемонстрировал проект на первом европейском JSConf 8 ноября 2009 года [29] [30] [31] Node.js в сочетании Google «s V8 двигатель JavaScript, в цикл обработки событий , и низкого уровня ввода / вывода API . [32]
В январе 2010 года для среды Node.js был представлен менеджер пакетов под названием npm . [33] Диспетчер пакетов упрощает программистам публикацию и совместное использование исходного кода пакетов Node.js и предназначен для упрощения установки, обновления и удаления пакетов. [32]
В июне 2011 года Microsoft и Joyent внедрили собственную версию Node.js. для Windows . [34] Первая сборка Node.js, поддерживающая Windows, была выпущена в июле 2011 года.
В январе 2012 года Даль отошел в сторону, назначив на руководство проектом своего коллегу и создателя npm Исаака Шлютера. [35] В январе 2014 года Шлютер объявил, что Тимоти Дж. Фонтейн возглавит проект. [36]
В декабре 2014 года Федор Индутный запустил io.js, форк Node.js. Из-за внутреннего конфликта по поводу управления Joyent io.js был создан как открытая альтернатива управления с отдельным техническим комитетом. [37] [38] В отличие от Node.js, [39] авторы планировали обновлять io.js с последними выпусками движка Google V8 JavaScript. [40]
В феврале 2015 года было объявлено о намерении создать нейтральный фонд Node.js. К июню 2015 года сообщества Node.js и io.js проголосовали за совместную работу в рамках фонда Node.js. [41]
В сентябре 2015 года Node.js v0.12 и io.js v3.3 были снова объединены в Node v4.0. [42] Это слияние принесло функции V8 ES6 в Node.js и обеспечило долгосрочный цикл выпуска поддержки. [43] С 2016 года веб-сайт io.js рекомендует разработчикам вернуться на Node.js и не планировать дальнейшие выпуски io.js из-за слияния. [44]
В феврале 2016 года выпущен Node.js 0.10.42 [45]
В 2019 году JS Foundation и Node.js Foundation объединились, чтобы сформировать OpenJS Foundation .
Обзор
Node.js позволяет создавать веб-серверы и сетевые инструменты с использованием JavaScript и набора «модулей», которые обрабатывают различные основные функции. [29] [32] [46] [47] [48] Предоставляются модули для ввода-вывода файловой системы , работы в сети ( DNS , HTTP , TCP , TLS / SSL или UDP ), двоичных данных (буферов), криптографических функций, потоки данных и другие основные функции. [32] [47] [49] Модули Node.js используют API, предназначенный для упрощения написания серверных приложений. [32] [47]
JavaScript - единственный язык, который Node.js поддерживает изначально, но доступно множество языков компиляции в JS . [50] В результате приложения Node.js могут быть написаны на CoffeeScript , [51] Dart , TypeScript , ClojureScript и других.
Node.js в основном используется для создания сетевых программ, таких как веб-серверы. [46] Наиболее существенное различие между Node.js и PHP заключается в том, что большинство функций в PHP блокируются до завершения (команды выполняются только после завершения предыдущих команд), в то время как функции Node.js не блокируются (команды выполняются одновременно или даже параллельно , [52] [53] и используйте обратные вызовы, чтобы сигнализировать о завершении или неудаче). [46]
Node.js официально поддерживается в Linux , macOS и Microsoft Windows 8.1 и Server 2012 (и более поздних версиях) [3] с поддержкой уровня 2 для SmartOS и IBM AIX и экспериментальной поддержкой FreeBSD . OpenBSD также работает, и версии LTS доступны для IBM i (AS / 400). [54] Предоставленный исходный код также может быть построен на операционных системах, аналогичных официально поддерживаемым, или может быть изменен третьими сторонами для поддержки других, таких как NonStop OS [55] и серверы Unix .
Архитектура платформы
Node.js обеспечивает программирование на основе событий на веб-серверах , что позволяет разрабатывать быстрые веб-серверы на JavaScript. [32] Разработчики могут создавать масштабируемые серверы без использования потоков , используя упрощенную модель программирования , управляемого событиями, которая использует обратные вызовы для сигнализации о завершении задачи. [32] Node.js объединяет простоту языка сценариев (JavaScript) с мощью сетевого программирования Unix. [32]
Node.js был построен на вершине Google «s двигатель V8 JavaScript , так как он был открытым кодом под лицензией BSD . Он хорошо разбирается в основах Интернета, таких как HTTP , DNS и TCP . [29] JavaScript также был хорошо известным языком, что сделало Node.js доступным для сообщества веб-разработчиков . [29]
Промышленная поддержка
Существуют тысячи библиотек с открытым исходным кодом для Node.js, большинство из которых размещено на веб-сайте npm . Существует множество конференций и мероприятий для разработчиков, которые поддерживают сообщество Node.js, включая NodeConf, Node Interactive и Node Summit, а также ряд региональных мероприятий.
Сообщество разработчиков открытого исходного кода разработало веб-фреймворки для ускорения разработки приложений. К таким фреймворкам относятся Connect, Express.js , Socket.IO , Feathers.js, Koa.js, Hapi.js, Sails.js , Meteor , Derby и многие другие. [32] [56] Также были созданы различные пакеты для взаимодействия с другими языками или средами выполнения, такими как Microsoft .NET . [57]
Современные настольные IDE предоставляют функции редактирования и отладки специально для приложений Node.js. К таким IDE относятся Atom , Brackets , JetBrains WebStorm , [58] [59] Microsoft Visual Studio (с инструментами Node.js для Visual Studio, [60] или TypeScript с определениями узлов, [61] [62] [63] [64]) ) NetBeans , [65] Nodeclipse Enide Studio [66] (на основе Eclipse ) и Visual Studio Code . [67] [68] Некоторые интерактивные веб-среды IDE также поддерживают Node.js, например Codeanywhere , Codenvy , Cloud9 IDE , Koding и редактор визуальных потоков в Node-RED .
Node.js поддерживается рядом платформ облачного хостинга, таких как Jelastic , Google Cloud Platform , AWS Elastic Beanstalk , Joyent и других.
Релизы
Релиз | Статус | Кодовое имя | Дата выпуска | Окончание технического обслуживания |
---|---|---|---|---|
0.10.x | Конец жизни | 2013-03-11 | 2016-10-31 | |
0.12.x | Конец жизни | 2015-02-06 | 2016-12-31 | |
4.x | Конец жизни | Аргон [69] | 2015-09-08 | 2018-04-30 |
5.x | Конец жизни | 2015-10-29 | 2016-06-30 | |
6.x | Конец жизни | Бор [69] | 2016-04-26 | 2019-04-30 |
7.x | Конец жизни | 2016-10-25 | 2017-06-30 | |
8.x | Конец жизни | Углерод [69] | 2017-05-30 | 2019-12-31 |
9.x | Конец жизни | 2017-10-01 | 2018-06-30 | |
10.x | Конец жизни | Дубний [69] | 2018-04-24 | 2021-04-30 |
11.x | Конец жизни | 2018-10-23 | 2019-06-01 | |
12.x | Техническое обслуживание LTS | Эрбий [69] | 2019-04-23 | 2022-04-30 |
13.x | Конец жизни | 2019-10-22 | 2020-06-01 | |
14.x | Активный LTS | Фермий [69] | 2020-04-21 | 2023-04-30 |
15.x | Конец жизни | 2020-10-20 | 2021-06-01 | |
16.x | Текущий | Галлий [69] | 2021-04-20 | 2024-04-30 |
17.x | Планируется | 2021-10-19 | 2022-06-01 | |
18.x | Планируется | 2022-04-19 | 2025-04-30 | |
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Будущий выпуск |
Новые основные выпуски Node.js удаляются из основной ветки GitHub каждые шесть месяцев. Версии с четными номерами сокращаются в апреле, а версии с нечетными номерами - в октябре. Когда выпускается новая нечетная версия, предыдущая четная версия подвергается переходу на долгосрочную поддержку (LTS), что дает этой версии 18 месяцев активной поддержки с даты, когда она обозначена как LTS. По истечении этих 18 месяцев выпуск LTS получает дополнительную техническую поддержку в течение 12 месяцев. Активная версия получает неизменяемые резервные копии изменений через несколько недель после их появления в текущем выпуске. В служебный выпуск входят только критические исправления и обновления документации. [69] Рабочая группа LTS управляет стратегией и политикой в сотрудничестве с Техническим руководящим комитетом фонда Node.js.
Технические подробности
Node.js - это среда выполнения JavaScript, которая обрабатывает входящие запросы в цикле, называемом циклом событий .
Внутренности
Node.js использует libuv underhood для обработки асинхронных событий. Libuv - это уровень абстракции для функций сети и файловой системы как в Windows, так и в системах на основе POSIX, таких как Linux, macOS , OSS на NonStop и Unix.
Резьба
Node.js работает с однопоточным циклом обработки событий , используя неблокирующие вызовы ввода-вывода , что позволяет ему поддерживать десятки тысяч одновременных соединений без затрат на переключение контекста потока . [70] Схема совместного использования одного потока всеми запросами, использующими шаблон наблюдателя, предназначена для создания приложений с высокой степенью параллелизма, в которых любая функция, выполняющая ввод-вывод, должна использовать обратный вызов . Для поддержки однопоточного цикла обработки событий Node.js использует библиотеку libuv, которая, в свою очередь, использует пул потоков фиксированного размера, который обрабатывает некоторые неблокирующие операции асинхронного ввода-вывода. [7]
Пул потоков обрабатывает выполнение параллельных задач в Node.js. Вызов функции основного потока отправляет задачи в общую очередь задач, которые тянут и выполняют потоки в пуле потоков. По своей сути неблокирующие системные функции, такие как работа в сети, преобразуются в неблокирующие сокеты на стороне ядра, в то время как по своей сути блокирующие системные функции, такие как файловый ввод-вывод, выполняются блокирующим образом в своих собственных потоках. Когда поток в пуле потоков завершает задачу, он информирует об этом основной поток, который, в свою очередь, пробуждается и выполняет зарегистрированный обратный вызов.
Обратной стороной этого однопоточного подхода является то, что Node.js не допускает вертикального масштабирования за счет увеличения количества ядер ЦП машины, на которой он работает, без использования дополнительного модуля, такого как кластер, [52] StrongLoop Process Manager, [71] или pm2. [72] Однако разработчики могут увеличить количество потоков по умолчанию в пуле потоков libuv. Операционная система (ОС) сервера, вероятно, распределяет эти потоки по нескольким ядрам. [73] Другая проблема заключается в том, что длительные вычисления и другие задачи, связанные с процессором, замораживают весь цикл событий до завершения. [ необходима цитата ]
V8
V8 - это механизм выполнения JavaScript, изначально созданный для Google Chrome . Затем в 2008 году он был открыт Google в открытом доступе. Написанный на C ++ , V8 компилирует исходный код JavaScript в собственный машинный код во время выполнения . [7] С 2016 года он также включает Ignition, интерпретатор байт-кода .
Управление пакетами
npm - это предустановленный менеджер пакетов для серверной платформы Node.js. Он устанавливает программы Node.js из реестра npm , организуя установку и управление сторонними программами Node.js. Пакеты в реестре npm могут варьироваться от простых вспомогательных библиотек, таких как Lodash, до средств запуска задач, таких как Grunt .
Единый API
Node.js можно комбинировать с браузером, базой данных, которая поддерживает данные JSON (например, Postgres , [74] MongoDB или CouchDB ) и JSON для унифицированного стека разработки JavaScript. Благодаря адаптации шаблонов разработки на стороне сервера, таких как MVC , MVP , MVVM и т. Д., Node.js позволяет повторно использовать одну и ту же модель и интерфейс службы между стороной клиента и стороной сервера.
Цикл событий
Node.js регистрируется в операционной системе, поэтому ОС уведомляет ее о подключениях и выполняет обратный вызов. В среде выполнения Node.js каждое соединение представляет собой небольшую часть кучи . Традиционно каждое соединение обрабатывались относительно тяжелыми процессами или потоками ОС. Node.js использует цикл событий для масштабируемости вместо процессов или потоков. [75] В отличие от других серверов, управляемых событиями, цикл обработки событий Node.js не требует явного вызова. Вместо этого определяются обратные вызовы, и сервер автоматически входит в цикл событий в конце определения обратного вызова. Node.js выходит из цикла обработки событий, когда больше не нужно выполнять обратные вызовы.
WebAssembly
Node.js поддерживает WebAssembly, а начиная с Node 14 имеет экспериментальную поддержку WASI , системного интерфейса WebAssembly.
Родные привязки
Node.js предоставляет способ создания «надстроек» через API на основе C, называемый N-API, который можно использовать для создания загружаемых (импортируемых) .node
модулей из исходного кода, написанного на C / C ++. [76] Модули можно напрямую загружать в память и запускать из среды JS как простые модули CommonJS. Реализация N-API основана на внутренних объектах C / C ++ Node.js и V8, требующих от пользователей импорта ( #include ) конкретных заголовков Node.js в их собственный исходный код. [76] Поскольку платформа Node.js постоянно развивается, совместимость API может меняться и иногда может быть нарушена в новой версии (как следствие, для правильной работы модули должны быть построены на основе определенных версий Node.js). Для решения проблемы третьи стороны ввели оболочки С / С ++ с открытым кодом поверх API, что частично решает проблему. Они упрощают интерфейсы, но в качестве побочного эффекта могут также вносить сложности, с которыми приходится иметь дело разработчикам. Несмотря на то, что основная функциональность Node.js находится во встроенной библиотеке JavaScript, модули, написанные на C ++, можно использовать для расширения возможностей и повышения производительности приложений.
Для создания таких модулей необходим соответствующий компилятор C ++ и необходимые заголовки (последние обычно поставляются с самим Node.js): gcc , clang или MSVC ++ .
N-API похож на собственный интерфейс Java .
Управление проектом
В 2015 году различные ветви большого сообщества Node.js начали работать в рамках независимого от поставщиков Node.js Foundation. Заявленная цель организации «обеспечить широкое внедрение и помощь в ускорении разработки Node.js и других связанных модулей с помощью открытой модели управления, которая поощряет участие, технический вклад и структуру для долгосрочного управления со стороны экосистемы, инвестированной в Node. Успех .js ". [77]
Технический руководящий комитет (TSC) Фонда Node.js является техническим руководящим органом Фонда Node.js. TSC отвечает за основное репозиторий Node.js, а также за зависимые и смежные проекты. Обычно TSC делегирует управление этими проектами рабочим группам или комитетам. [78] Группа LTS, которая управляет выпусками с долгосрочной поддержкой, является одной из таких групп. Другие текущие группы включают веб-сайт, потоки, сборку, диагностику, i18n, евангелизм, Docker, Addon API, сравнительный анализ, вскрытие, Intl, документацию и тестирование. [79]
В августе 2017 года треть членов TSC подала в отставку из-за спора, связанного с кодексом поведения проекта. [80]
Рекомендации
- ^ "node-v0.x-архив на GitHub" . Проверено 2 августа 2014 .
- ^ «Выпуск 16.2.0» . 19 мая 2021 . Проверено 21 мая 2021 года .
- ^ а б "nodejs / узел" . GitHub .
- ^ «узел / ЛИЦЕНЗИЯ на мастере» . GitHub . Фонд Node.js. 17 сентября 2018 . Проверено 17 сентября 2018 года .
- ^ «Лицензия Массачусетского технологического института» . Инициатива открытого исходного кода . 17 сентября 2018 . Проверено 17 сентября 2018 года .
- ^ gcuomo (24 октября 2013 г.). «JavaScript повсюду и три амигранта (Вон там, в дикий СИНИЙ!)» . www.ibm.com .
- ^ а б в Лоран Орсини (7 ноября 2013 г.). «Что нужно знать о Node.js» . читай пиши. Архивировано из оригинального 7 -го ноября 2013 года . Проверено 22 января +2016 .
- ^ «Фонд Node.js - Node.js» . Дата обращения 4 июля 2015 .
- ^ «Совместные проекты Linux Foundation» . Дата обращения 4 июля 2015 .
- ^ Почему сделка GoDaddy Nodejitsu отлично подходит для Node.js , VentureBeat , 10 февраля 2015 г.
- ^ Гейтгей, Адам (30 октября 2013 г.). «I-ярус: демонтаж монолитов» . Groupon. Архивировано из оригинального 10 сентября 2015 года . Проверено 30 апреля 2014 года .
- ^ «IBM Bluemix» . Дата обращения 4 июля 2015 .
- ^ «Вы никогда не поверите, как LinkedIn создала свое новое приложение для iPad» . VentureBeat. 2 мая 2012 . Проверено 10 мая 2012 года .
- ^ «Невероятно быстрый node.js: 10 советов по производительности от LinkedIn Mobile» . Проверено 7 апреля 2015 года .
- ^ Бакстер-Рейнольдс, Мэтью (9 ноября 2011 г.). «Вот почему вы должны быть счастливы, что Microsoft использует Node.js» . Хранитель . Лондон . Проверено 10 мая 2012 года .
- ^ «WebMatrix - Обратите внимание на интерфейсные веб-разработчики (ASP.NET, PHP, node.js и другие)» . Проверено 2 августа 2014 .
- ↑ Node.js in Flames, 19 ноября 2014 г.
- ^ «Битва титанов: освобождение Кракена, NodeJS @paypal» . fluentconf.com. 28 мая 2013 . Проверено 11 сентября 2013 года .
- ^ «Все такие компании и их продукты, в которых используется Node.js» . Проверено 2 августа 2014 .
- ^ «SAP AppBuilder» . SAP. 10 марта 2014. Архивировано из оригинала 12 февраля 2014 года . Проверено 10 октября 2018 года .
- ^ The Node Ahead: JavaScript прыгает из браузера в будущее , The Register , 1 марта 2011 г.
- ^ «Почему Walmart использует Node.js» . VentureBeat. 24 января 2012 . Проверено 10 мая 2012 года .
- ^ «Зачем вам действительно нужны (A) услуги по разработке node.js» . кодебрахма. 10 января 2018 . Проверено 10 января 2018 .
- ^ «Развертывание веб-приложения Node.js - запуск и запуск высокодоступного веб-приложения Node.js на AWS» . amazon.com . Дата обращения 3 октября 2020 .
- ^ «О Node.js и почему вы должны добавить Node.js в свой набор навыков?» . Training.com . Training.com . Проверено 23 октября +2016 .
- ^ «Netscape открывает интранет-атаку» . CNET . Проверено 20 апреля 2017 года .
- ^ Райан Даль (9 ноября 2010 г.). «Джойент и Узел» . Группы Google . Дата обращения 5 февраля 2015 .
- ^ «PHP 7 против Node.js? Они могут быть партнерами, а не конкурентами для разработчика!» . Проверено 21 декабря +2016 .
- ^ a b c d Самс научитесь Node.js за 24 часа , Sams Publishing, 5 сентября 2012 г.
- ^ «Райан Даль на выставке JSConf EU 2009» .
- ^ «Райан Даль на видео JSConf EU 2009» .
- ^ a b c d e f g h i Professional Node.js: Создание масштабируемого программного обеспечения на основе JavaScript , John Wiley & Sons, 01 октября 2012 г.
- ^ «Самые ранние выпуски npm» . GitHub . Проверено 27 июля 2016 года .
- ^ «Перенос узла в Windows с помощью Microsoft» . Проверено 17 апреля 2016 года .
- ^ Даль, Райан. «Новый привратник» . Проверено 26 октября 2013 года .
- ^ Шлютер, Исаак (15 января 2014 г.). «Следующий этап Node.js» . Проверено 21 января 2014 года .
- ^ Криль, Пол (4 декабря 2014 г.). «Почему io.js решил разветвить Node.js» . JavaWorld . Проверено 15 декабря 2014 .
- ^ Q&A: Почему io.js решил форкнуть Node.js , InfoWorld Tech Watch
- ^ Бен Нордхейс (12 ноября 2014 г.). «Проблема 3692: функция внезапно становится неопределенной» . Проблемы с движком JavaScript V8 . Дата обращения 2 февраля 2015 .
- ^ Майкл, Роджерс (28 января 2015 г.). «Состояние io.js» . Дата обращения 2 февраля 2015 .
- ^ «Фонд Node.js продвигает сотрудничество с сообществом, объявляет о новых членах и ратифицированном техническом управлении» . Архивировано из оригинала 24 июня 2015 года . Дата обращения 4 июля 2015 .
- ^ «Node.js Foundation объединяет Node.js и io.js в единую кодовую базу в новом выпуске» . Проверено 28 января +2016 .
- ^ «io.js и Node.js объединяются» . 19 мая 2015 . Проверено 27 июня 2015 года .
- ^ Io.js, JavaScript I / O , "io.js снова объединился с проектом Node.js. Больше не будет выпусков io.js. Все функции io.js доступны в Node.js. v4 и выше ".
- ^ «Выпуск Node.js» .
- ^ a b c Node.js для разработчиков PHP , O'Reilly Media, Inc., 2013 г.
- ^ a b c Основы Node.js , Packt Publishing, 10 ноября 2015 г.
- ^ Smashing Node.js: JavaScript везде , John Wiley & Sons, 14 августа 2012 г.
- ^ Модули , Веб-сайт Nodejs
- ^ «Список языков, компилируемых в JS» . Github .
- ^ CoffeeScript на Node.js . O'Reilly Media, Inc., 15 апреля 2013 г. ISBN 9781449316846. Дата обращения 17 мая 2015 .
- ^ а б "Кластерный модуль Node.js" . Проверено 19 октября 2017 года .
- ^ "Модуль child_process в Node.js" . Проверено 19 октября 2017 года .
- ^ Фонд, Node js. «Установка Node.js через диспетчер пакетов» . Node.js . Дата обращения 19 мая 2019 .
- ^ "bomBora - Node.js для NonStop" . Инфрасофт . Проверено 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» . Проверено 1 февраля +2016 .
- ^ soywiz / typescript-node-definitions Типизации TypeScript для некоторых популярных модулей node.js , GitHub
- ^ ОпределенноTyped , GitHub
- ^ Репозиторий для высококачественных определений типов TypeScript. Архивировано 3 февраля 2016 г. на Wayback Machine.
- ^ ImageBoard, Приложение Node.js + Express + MongoDB, созданное с использованием TypeScript на сервере , образцы TypeScript
- ^ Криль, Пол (10 ноября 2015 г.). «Node.js занимает центральное место в NetBeans 8.1» . InfoWorld .
- ^ Nodeclipse, Enide - Разработка Node.JS в Eclipse , Веб-сайт Nodeclipse
- ^ Hello Visual Studio Code (с NodeJS) , канал 9, Microsoft
- ^ Приложения Node.js с VS Code , Visual Studio Code
- ^ Б с д е е г ч "nodejs / Release" . GitHub . Дата обращения 3 мая 2018 .
- ^ "Node.js с 1 млн одновременных подключений!" . Блог caustik . 19 августа 2012 г.
- ^ «Менеджер процессов StrongLoop» .
- ^ «GitHub - Unitech / pm2: менеджер производственных процессов для приложений Node.js со встроенным балансировщиком нагрузки» . GitHub . 12 июня 2021 г.
- ^ Александр Касюк (22 апреля 2015). «О проблемах с потоками в node.js - Будущая обработка» .
- ^ «PostgreSQL: Документация: 9.4: Типы JSON» . www.postgresql.org . Проверено 20 октября 2016 года .
- ^ О Node.js , Веб-сайт Node.js
- ^ а б "Дополнения C ++ | Документация по Node.js v14.12.0" . nodejs.org . Проверено 26 сентября 2020 года .
- ^ Фонд, Node.js. "Фонд Node.js | Node.js" . nodejs.org . Проверено 8 марта 2017 года .
- ^ "nodejs / TSC" . GitHub . Проверено 8 марта 2017 года .
- ^ Фонд, Node.js. «Рабочие группы | Node.js» . nodejs.org . Проверено 8 марта 2017 года .
- ^ Уиттакер, Зак, После развала системы управления лидеры Node.js борются за его выживание , ZDNet, 25 августа 2017 г.
дальнейшее чтение
- Хьюз-Краучер, Том; Уилсон, Майк (апрель 2012 г.), Работа с Node.js , O'Reilly Media , ISBN 978-1-4493-9858-3
- Орнбо, Джордж (сентябрь 2012 г.), Sams Teach Yourself Node.js in 24 Hours , SAMS Publishing , ISBN 978-0-672-33595-2
- Тейшейра, Педро (октябрь 2012 г.), профессиональный Node.js , John Wiley & Sons , ISBN 978-1-118-22754-1
- Рэндал Л. Шварц и Аарон Ньюкомб (9 января 2013 г.). «Эпизод 237: Node.js» . twit.tv/show/floss-weekly (Подкаст). TWiT.tv . Событие происходит в 1:08:13 . Проверено 9 января 2013 года .
- Гакенхаймер, Кори (октябрь 2013 г.), Рецепты Node.js: подход к решению проблем , Apress , ISBN 978-1-4302-6058-5
Внешние ссылки
- Официальный веб-сайт
- узел на GitHub