Узел: cd myjourney03

Прошло некоторое время с тех пор, как я публиковал свои успехи в обучении из-за проблем со здоровьем и учебой. Однако я решил возобновить изучение Nodejs и публиковать свои успехи, так как сейчас все хорошо.

Сегодняшний день был замечательным, я узнал о NPM, он же Node Package Manager.

NPM — это менеджер пакетов для платформы Node JavaScript. Он размещает модули так, чтобы node мог их найти, и разумно управляет конфликтами зависимостей.

Сначала это показалось мне непонятным. Поэтому я спросил себя «что такое пакет». Для меня это слово означало нечто иное, чем то, что я узнал, изучая язык Java, где пакет — это группа однотипных классов.

Поэтому я зашел на сайт Google. Там есть сайт под названием npmjs, посвященный npm, о котором я узнавал, и это он, NPM, и есть. Я нажимаю на этот сайт, делаю еще несколько кликов и нахожу:

Пакет — это файл или каталог, который описывается файлом package.json.
Пакет — это любое из следующего:
a) Папка, содержащая программу, описанную файлом package.json.
b) gzipped tarball, содержащий (a).
c) URL-адрес, который разрешается в (b).
d) <name>@<version>, опубликованный в реестре вместе с (c).
e) <name>@<tag>, который указывает на (d).
f) <name>, который имеет последний тег, удовлетворяющий (e).
g) git url, который при клонировании приводит к (a).

💡 Итак, теперь я понял, что пакет в термине Nodejs — это не пакет в термине Java, и я должен не предполагать, а подтверждать.

Я узнал, что NPM — это широкое понятие и как концепция, и как вещь. Почему?

Npm состоит из трех отдельных компонентов:

  • Веб-сайт: Используйте веб-сайт для поиска пакетов, настройки профилей и управления другими аспектами вашей работы с npm. Например, вы можете создавать организации для управления доступом к публичным или приватным пакетам.

  • CLI (интерфейс командной строки), который запускается из терминала, и именно с его помощью большинство разработчиков взаимодействуют с npm.

  • Реестр, который представляет собой большую публичную базу данных программного обеспечения JavaScript и мета-информации, связанной с ним.

💡 Поэтому, когда кто-то упоминает NPM, вы можете спросить, о какой части NPM он говорит, а не просто предположить, что это CLI, потому что я всегда нахожусь в терминале для этого.

Итак, я работаю с CLI-компонентом NPM через терминал Termux. NPM был установлен, когда я устанавливал nodejs на свое устройство в терминале, поэтому нет необходимости устанавливать его отдельно.

Сейчас в NPM (на сайте) есть пакет под названием «upper-case», используемый для преобразования строк в верхний регистр.
То есть: «hey» превращается в «HEY».

Поэтому я ищу на сайте этот пакет.

Щелкните на нем, чтобы посмотреть, о чем он

Эй, он на github.
Подумайте о github, подумайте о Opensource.

Как я мог забыть, Nodejs сам по себе является Opensource и NPM тоже.

Итак, я устанавливаю этот пакет на свой CLI

Затем я проверяю, что было установлено, файлы и все такое, вижу файл package.json и другие новые файлы. node_modules, что это такое, инстинкт? Я перехожу в него. И снова нахожу файлы, перехожу в папку dist.es2015 тоже инстинктивно, чтобы найти много файлов, но один файл, который привлек мое внимание, был простой файл index.js, который я открыл в редакторе кода и нашел интересные вещи.

Вот часть кода в файле index.js.

Я понял, что часть этого кода была настроена так, чтобы его можно было импортировать или require_d, и я вижу функцию верхнего регистра, которая преобразует строки _javascriptically (lol).
Для меня это имеет смысл. Я выхожу.

Теперь вернемся к моему серверу, пора использовать этот пакет.
Я включаю пакет upper-case в свой уже настроенный сервер.

var demo = require('upper-case');
Войти в полноэкранный режим Выйти из полноэкранного режима

И напишу текст, используя функцию upperCase(), которую я видел ранее.
Таким образом, все выглядит следующим образом

var http = require('http');
var demo = require('upper-case');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.write(demo.upperCase("Hello John!"));
  res.end();
}).listen(8080);
Вход в полноэкранный режим Выход из полноэкранного режима

Затем я запускаю сервер.

Я запрашиваю через порт 8080, и мой сервер РАСПИСЫВАЕТ строковый аргумент ЗАГЛАВНЫМИ БУКВАМИ. Удивительно.


💡 Так что мне больше не нужно напрягаться с написанием логики для этого, я просто устанавливаю и загружаю пакет с верхним регистром.
Представьте себе, что могут делать другие пакеты из реестра NPM.
Сила пакетов.
Изученное: NPM, пакет, модули

Ресурсы: Google, W3schools, Stackoverflow.

День 4. Прогресс.

Оцените статью
Procodings.ru
Добавить комментарий