Nodejs — это среда выполнения JavaScript. Это означает, что nodejs — это программа, позволяющая запускать JavaScript вне браузера. В результате можно разрабатывать серверные приложения с использованием nodejs. Теперь это не ограничивается бэкэндом. Мы можем создавать настольные приложения, Интернет вещей и облачные приложения, и это лишь некоторые из них. Nodejs является кроссплатформенным. Сама программа работает под управлением Linux, Windows и macOS.
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$
Это будет похоже на мастера установки, который проведет вас через все этапы настройки. Обратите внимание, что вы можете обновить его позже. Вам просто нужно нажимать 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
В любом случае мы можем устанавливать пакеты тремя способами, а точнее средой. По сути, это то место, где вы хотите использовать пакет.
Мы можем сделать,
По сути, это все, что нам понадобится для управления нашими пакетами.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3