Среда выполнения, а не язык!

Экосистема NodeJS очень большая и продолжает расти день ото дня. Это асинхронная среда, управляемая событиями, в которой для запуска javascript используется механизм Google v8. V8 - это тот же движок, который используется в Google Chrome для запуска JavaScript.

NodeJS также может использовать chakra (разработано Microsoft) или Spidermonkey (Mozilla). Но на данный момент Node использует V8 (от Google). Благодаря этому конкурсу мы каждый год получаем более совершенные двигатели, так что ура!

Поскольку он асинхронен по своей природе, вы должны иметь возможность эффективно использовать или обрабатывать его. Поэтому я настоятельно рекомендую, когда вы закончите это руководство, вы прочитали об аду обратного вызова и обещаниях.

В этой статье основное внимание уделяется инструментам, которые помогут вам, как новичку, лучше понять окружающую среду. Hovever, если вы уже являетесь разработчиком NodeJS, возможно, вы уже знаете это.

Официальные документы очень эффективно и кратко объясняют NodeJS. Если вам интересно, уделите этому 5 минут вашего времени.



Теперь должно быть ясно, что NodeJS - это среда выполнения, а не язык. Javascript - это язык, который используется для программирования в NodeJS.

Javascript также имеет много вариантов, но это уже другая тема.

NVM: установка и управление версиями узлов без особых усилий

Чтобы использовать NodeJS, его нужно установить, и много раз в конкретном проекте вы должны использовать определенную версию NodeJS. Итак, первое, что нужно сделать, это установить NVM.

Не бойтесь читать инструкции в виде простого текста с разметкой.

NVM: Установка

Используйте nodemon при разработке приложений nodeJS

Когда вы разрабатываете приложение, вам придется каждый раз перезапускать скрипт, если вы используете node app.js. Это очень громоздко для отладки и разработки. Так что используйте Nodemon, он автоматически перезагружает сервер всякий раз, когда вы вносите изменения в свои файлы.

Чтобы установить его глобально и запустить приложение, используйте следующие команды:

npm install -g nodemon
nodemon app.js

Знайте свои журналы лучше!

Один из важнейших инструментов разработчика - журналы. Даже на производстве нам нужны журналы для отслеживания и регистрации важной информации. Ознакомьтесь с руководством, предоставленным восходящим стеком.



Разница между module.exports и exports?

Весьма вероятно, что вы создадите свой проект по модульному принципу. Таким образом, вы будете создавать несколько файлов и экспортировать разные функции. Чтобы экспортировать его, вы будете использовать объект экспорта.

module - это простой объект JavaScript со свойством exports. exports - это обычная переменная JavaScript, для которой установлено значение module.exports. В конце вашего файла node.js в основном «вернет» module.exports функции require. Упрощенный способ просмотра JS-файла в Node может быть таким:

var module = { exports: {} };
var exports = module.exports;
// your code
return module.exports;

Если вы установите свойство на exports, например exports.a = 9;, это также установит module.exports.a, потому что объекты передаются как ссылки в JavaScript, что означает, что если вы установите несколько переменных для одного и того же объекта, они будут все тот же объект; Итак, exports и module.exports - это один и тот же объект.
Но если вы установите exports на что-то новое, оно больше не будет установлено на module.exports, поэтому exports и module.exports больше не являются одним и тем же объектом.

Это прекрасное объяснение было предоставлено удивительной девелоперской goto-bus-stop.

Итак, если вы сделаете что-то вроде exports={getUserById:getUserById}. Это не сработает, и вы ничего не получите, когда попытаетесь его импортировать. пока exports.getUserById = getUserById будет работать.

Что такое петля событий?

Я призываю вас просмотреть это видео и узнать, что именно представляет собой цикл событий. Пожалуйста, пройдите через это. Очень важно, что я говорю это снова и снова. Он многое прояснит и подарит вам Ага моменты!

Возможности NodeJS ECMAScript

Возможно, это не сразу пригодится вам, но если вы знаете, это пригодится в будущем.

Возможно, вы захотите использовать определенную функцию ECMAScript, и разные версии NodeJS содержат разные функции. Информацию о том, какие функции поддерживаются каждой версией, можно найти в документации API. Но если вы не хотите просматривать документы только для того, чтобы получить ответ ДА ​​/ НЕТ, как я, то посетите этот веб-сайт, чтобы быстро отслеживать прогресс каждой функции.

Https://node.green

На момент написания этой статьи текущая версия LTS - 10.15.1, последняя стабильная версия - 11.10, а версия Nightly build - 12.

Спасибо за чтение.

Пожалуйста, оставляйте комментарии, если у вас есть какие-либо предложения, или вы хотите добавить точку, или если вы заметили какую-либо ошибку / опечатки!

P.S. Если вы нашли эту статью полезной, хлопайте в ладоши! 👏👏👏 [чувствует удовлетворение и дает мотивацию продолжать писать].

Бонус

Основные функции Javascript ES6

Путеводитель по обещаниям