Показатель:

  1. Введение
  2. Запуск сервера
  3. Простой способ сделать маршрутизацию
  4. Различные методы чтения и отправки файла
  5. Модульность нашего кода
  6. 206 Статус частичного содержания
  7. Заключение

1. Введение:

Прошло некоторое время, и вы видели все учебники на YouTube, которые вы нашли, не хотите вкладывать деньги в курсы udemy и начните читать всю документацию, которую сможете.

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

Это круто, приятель. Вы находитесь в любопытной стороне нашего вида.

Что ж, в этой статье мы создадим пример сервера NodeJS со вкусом ванили, который транслирует аудио и видео из файла.

Без рамок? Ну да.

Делаете какие-то ошибки? Ну да, наверное… Но спасибо Шиве за Интернет и сообщество, которые позволяют нам децентрализовать знания и учиться путем обмена.

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

2. Запуск сервера

Окончательный код можно увидеть здесь:



А окончательный проект можно увидеть работающим в Heroku по этой ссылке.

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

Начнем:

Сначала откройте IDE и создайте файл index.js.

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

Откройте консоль и введите node index.js. Обратите внимание, что консоль выводит последний журнал консоли, который мы записали в коде. Другой будет выводить только тогда, когда HTTP-запрос достигает порта, который мы слушаем. На самом деле, откройте браузер в localhost:3000 и вы увидите, что консоль выводит console.log()то, что он написал в createServer()функции.

Теперь давайте попробуем это: замените createServer()function на это:

Теперь снова запустите свой сервер, перейдите к localhost:3000 и проверьте вывод в консоли… вы это почувствовали, не так ли? Безумно выглядящий объект длиной около 600 строк с огромным количеством эзотерических знаний, которые только и ждут, чтобы их понял какой-нибудь любопытный нуб вроде вас и меня.

Если вы сделаете себе кольцо защиты, выпьете гномьей крови и начнете читать, то обнаружите, что около строки ~470 можно найти следующее: url:'/’, method:'GET’, statusCode: null.

Мы будем использовать этих маленьких ребят для добавления функциональности нашему серверу.

3. Простой способ сделать маршрутизацию

Давайте попробуем это:

Если это не сработает, перейдите к нашей первой суть и не забудьте заменить только http.createServer()function.

Давайте проанализируем то, что мы только что написали:

  1. У нас есть переменная, которая содержит этот URL-адрес в объекте запроса.
  2. У нас есть оператор if, который проверяет, находимся ли мы в нашем самом основном URL-адресе.
  3. И тогда мы начинаем использовать мистический объект response.

Как сказано в документации NodeJS:

Объект запроса составляется следующим образом:

request.write(chunk[, encoding][, callback])

Он отправляет «кусок» тела, и его можно вызывать много раз, чтобы записать полное тело. У него также есть необязательный аргумент кодировки, для которого мы установили значение UTF-8, но он используется только при отправке строки.

Кроме того, можно установить функцию обратного вызова, которая срабатывает при успешном сбросе всех данных.

Если вы хотите узнать немного больше о request.write(), вот ссылка на документацию:



В нашем случае, если вы открыли браузер и проверили, как он работает, а затем посмотрели на свой терминал, вы увидели классный console.log(), который поместил "console.log из обратного вызова функцию!». Да, это сработало только после того, как все данные были отправлены в браузер.

На данный момент я думаю, что нам больше не нужен Express. Мы сделали. Увидимся на следующей вечеринке Mr. Senior Developer.

Нет, просто шучу. Но… у нас что-то есть. Хотя это всего лишь простой текст, это начало чего-то большого.

Что бы произошло, если бы мы могли сказать компьютеру отображать это как HTML? Не волнуйся, мой дорогой друг, мы в будущем!

Оберните теги ‹h1›‹/h1› той строки, которую мы передаем в качестве первого аргумента функции res.write(). Это должно выглядеть примерно так:

res.write('<h1>Yea! its working! Back to the future!</h1>', 'utf-8');

И теперь он у вас есть. Несмотря на то, что вам не нужно было устанавливать для заголовка «Content-Type» значение «text/html», браузер знал, что вы пытаетесь сделать.

Представьте, что… столько силы в таком маленьком заклинании!

Интерлюдия:

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

В следующих разделах мы постараемся охватить большинство остальных тем, упомянутых в указателе.

Если вам понравилось, пожалуйста, поделитесь в социальных сетях или дайте мне знать каким-либо образом.

Если вам не понравилось, пожалуйста, дайте мне знать, чтобы я мог улучшить содержание.

Спасибо, что нашли время прочитать.