«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Что такое Нодейс

Что такое Нодейс

Опубликовано 1 августа 2024 г.
Просматривать:695

What is Nodejs

Nodejs — это среда выполнения JavaScript. Это означает, что nodejs — это программа, позволяющая запускать JavaScript вне браузера. В результате можно разрабатывать серверные приложения с использованием nodejs. Теперь это не ограничивается бэкэндом. Мы можем создавать настольные приложения, Интернет вещей и облачные приложения, и это лишь некоторые из них. Nodejs является кроссплатформенным. Сама программа работает под управлением Linux, Windows и macOS.

Почему следует использовать Nodejs

Nodejs имеет некоторые преимущества, среди которых, помимо прочего:

  • Неблокирующий ввод-вывод
  • Асинхронный
  • Масштабируемость
  • Проведение мероприятий
  • имеет низкую задержку
  • есть цепочки
  • можно использовать везде и где угодно
  • имеет большое сообщество

Как говорится, немедленная прибыль означает долгосрочные неудобства. Обратной стороной здесь является JavaScript (кстати, я люблю JavaScript), и иногда при проектировании системы, которую вы хотите построить, не учитывается масштабирование. Опять же, Nodejs используют не Nodejs, а инструменты и люди.

Подробнее о nodejs можно прочитать здесь

Монтаж

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

  • менеджер пакетов
  • предустановленный установщик
  • готовый двоичный файл
  • и установка путем сборки исходного кода

Среди них первые трое дружелюбны. Так что выбирайте любой из них. Давайте перейдем к download-nodejs и «пусть будет nodejs».

На данный момент текущая версия узла — 22, а LTS (имеет долгосрочную поддержку) — 20.

Я работаю на машине с Linux, поэтому выполняю установку с помощью nvm (менеджера версий Node). Это дает нам ощущение, что у нас может быть несколько версий nodejs. Это будет работать «из коробки» и для macOS.

# installs nvm (Node Version Manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# download and install Node.js (you may need to restart the terminal)
nvm install 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

Это тот же скрипт на платформе nodejs (веб-сайте). Поэтому при выполнении этих команд проблем возникнуть не должно.

Для Windows нечто подобное будет

# installs fnm (Fast Node Manager)
winget install Schniz.fnm

# download and install Node.js
fnm use --install-if-missing 20

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

Или просто загрузите готовую установку node-prebuilt-installer. В конце дня вы сможете запустить две последние команды для проверки ваших установок.

# verifies the right Node.js version is in the environment
node -v # should print `v20.15.1`

# verifies the right npm version is in the environment
npm -v # should print `10.7.0`

НВМ

nvm не был доступен для Windows во время установки, но его можно установить здесь, и знакомство с ним будет полезным.

Мы перечисляем все остальные версии nodejs, которые у нас есть, с помощью команды nvm list

username@computer-name:~$ nvm list
->     v18.18.0
default -> 18.18.0 (-> v18.18.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.18.0) (default)
stable -> 18.18 (-> v18.18.0) (default)
lts/* -> lts/hydrogen (-> v18.18.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)
lts/gallium -> v16.20.2 (-> N/A)
lts/hydrogen -> v18.18.0

Из вышесказанного мы можем сказать, что v18.18.0 — это nodejs, который я использую.

Мы можем установить другую версию, например 20 LTS, с помощью nvm install 20

username@computer-name:~$ nvm install 20
Downloading and installing node v20.15.1...
Downloading https://nodejs.org/dist/v20.15.1/node-v20.15.1-linux-x64.tar.xz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v20.15.1 (npm v10.7.0)

Это автоматически переключилось на версию 20.15.1. Это последний LTS.

Теперь я могу переключиться на желаемую версию узла, используя nvm 18

username@computer-name:~$ nvm use 18
Now using node v18.18.0 (npm v10.8.2)
username@computer-name:~$
username@computer-name:~$ node -v
v18.18.0

И это будет на nvm

НПМ

npm — менеджер пакетов узлов. Если вам интересно, что такое пакет, не переживайте. Пакет аналогичен библиотеке. Некоторые фрагменты кода или программы, написанные другим человеком, могут быть использованы в нашей программе для каких-либо действий. Итак, пакет предназначен для решения проблемы и все такое. npm и другие менеджеры пакетов узлов, такие как Yarn, pnpm, Bun и другие, помогают нам управлять пакетами, которые мы устанавливаем для нашего проекта. Здесь мы сосредоточимся исключительно на npm.

Чтобы запустить проект nodejs (а не только javascript), нам нужно использовать пакеты узлов. Я имею в виду, что бывают случаи, когда мы разрабатываем целую программу, не полагаясь на сторонние библиотеки (программы, которые мы не писали и не поставлялись вместе с Nodejs).

Мы можем создать приложение nodejs, создав файл node packagege.json с помощью команды npm init. Do npm init --help, чтобы узнать больше о npm init. Обычно лучше запускать программу узла в новой среде (папке). Итак, мы создадим его и назовем его helloworld. Я воспользуюсь терминалом.

username@computer-name:~$ mkdir helloworld
username@computer-name:~$ cd helloworld/
username@computer-name:~/helloworld$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items and tries to guess sensible defaults.

See `npm help init` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (helloworld) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /home/username/helloworld/package.json:

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Is this OK? (yes) 

username@computer-name:~/helloworld$ 
  • Я создал папку под названием mkdir helloworld
  • Я перешел в папку helloworld, cd helloworld
  • Затем я инициализирую узел, npm init

Это будет похоже на мастера установки, который проведет вас через все этапы настройки. Обратите внимание, что вы можете обновить его позже. Вам просто нужно нажимать ENTER, ENTER, пока весь процесс не закончится. Когда вы откроете папку helloworld в проводнике, вы увидите новый файл package.json с содержимым, аналогичным приведенному выше.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": ""
}

Эта конфигурация интуитивно понятна. Он сообщает вам название проекта (или программы), который мы собираемся создать. В качестве имени проекта используется имя родительской папки. В процессе инициализации узла (проекта) мы могли бы дать ему имя и даже указать значения в других полях. Здесь мы нажимали ENTER, ENTER, …

Другой способ выполнить это, не нажимая ENTER, ENTER, …, — это сделать npm init -y . -y означает «да», использовать значения по умолчанию.

В основном пакеты узлов находятся на npmjs.com. Допустим, мы хотим установить библиотеку expressjs. Вот как искать экспресс на npmjs. В документации описано, как установить его с помощью команды npm i express.

username@computer-name:~/helloworld$ npm i express

added 64 packages, and audited 65 packages in 4s

12 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

я имею в виду установку. Вы записываете это как npm install express. Package.json будет обновлен вместе с добавленным пакетом.

{
  "name": "helloworld",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
 },
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^4.19.2"
 }
}

Теперь у нас есть новая зависимость.

Обратите внимание, что ни один файл или папка не будут созданы. Когда мы делаем ls

username@computer-name:~/helloworld$ ls
node_modules  package.json  package-lock.json
  • У нас есть node_modules — папка, содержащая зависимости (пакеты), которые будет использовать наша программа.
  • Также у нас есть package-lock.json, который служит файлом блокировки, отсюда и название. Он фиксирует точные версии пакета, который мы устанавливаем и используем для создания наших программ. Таким образом, одни и те же пакеты и их конкретные версии можно использовать постоянно, поскольку разные версии одного и того же пакета могут вести себя по-разному.

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

  • global: это будет доступно всем имеющимся у вас программам узлов. Обычно пакеты устанавливаются глобально, если они представляют собой программы общего назначения, такие как утилиты командной строки.
  • разработка: это предназначено только для разработки и не используется на некоторых удаленных серверах, поскольку удаленный сервер будет иметь свой способ обработки варианта использования этой зависимости. Обычно это служебные библиотеки, которые работают с другими библиотеками для достижения определенной цели. К ним могут относиться, помимо прочего, eslint, prettier, dotenv и т. д.
  • production: это пакет, от которого в первую очередь зависит функционирование нашего приложения. Как экспресс.

Мы можем сделать,

  • npm i -g package-names ... для глобальной установки пакета
  • npm i --global package-names ... для глобальной установки пакета
  • npm i -S package-names ... для установки пакета (для производства)
  • npm i --save package-names ... для установки пакета (для производства)
  • npm i -D package-names ... для установки пакета (для разработки он не понадобится для запуска нашего приложения)
  • npm i --save-dev package-names ... для установки пакета (для разработки он не понадобится для запуска нашего приложения)
  • npm uninstall package-names ... чтобы удалить или удалить пакет

По сути, это все, что нам понадобится для управления нашими пакетами.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/otumianempire/what-is-nodejs-4h10?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3